Java 数组迭代
我有以下xml格式,我正在解析和获取数据,并将其存储在一个名为xyz的bean中,该bean将testurl作为另一个bean xyz有testurl bean和数组,testurl bean有id和图像Java 数组迭代,java,xml,Java,Xml,我有以下xml格式,我正在解析和获取数据,并将其存储在一个名为xyz的bean中,该bean将testurl作为另一个bean xyz有testurl bean和数组,testurl bean有id和图像 <xyz> <testUrl Id="SmallLogo">smallLogo.jpg</testUrl > <testUrl Id="MediumLogo">mediumLogo.jpg</testUrl > <
<xyz>
<testUrl Id="SmallLogo">smallLogo.jpg</testUrl >
<testUrl Id="MediumLogo">mediumLogo.jpg</testUrl >
<testUrl Id="LargeLogo">largeLogo.jpg</testUrl >
<testUrl Id="ExtraLarge">test.png</testUrl >
</xyz>
<xyz>
<testUrl Id="SmallLogo">smallLogo.jpg</testUrl >
<testUrl Id="MediumLogo">mediumLogo.jpg</testUrl >
<testUrl Id="LargeLogo">largeLogo.jpg</testUrl >
<testUrl Id="ExtraLarge">test.png</testUrl >
</xyz>
smallLogo.jpg
mediumLogo.jpg
largeLogo.jpg
test.png
smallLogo.jpg
mediumLogo.jpg
largeLogo.jpg
test.png
我正在访问的数据具有xyz.gettesturl()[i].getid()
,无法正确迭代并获取所有数据,我如何迭代数组?此:
xyz.gettesturl()[i].getid()
将获取由i
索引的特定testUrl
。如果要进行迭代,应尝试使用:
xyz.gettesturl()
迭代。您提供的xml无效。xml中没有根元素。 如果你有
<root>
<xyz>
<testUrl Id="SmallLogo">smallLogo.jpg</testUrl >
<testUrl Id="MediumLogo">mediumLogo.jpg</testUrl >
<testUrl Id="LargeLogo">largeLogo.jpg</testUrl >
<testUrl Id="ExtraLarge">test.png</testUrl >
</xyz>
<xyz>
<testUrl Id="SmallLogo">smallLogo.jpg</testUrl >
<testUrl Id="MediumLogo">mediumLogo.jpg</testUrl >
<testUrl Id="LargeLogo">largeLogo.jpg</testUrl >
<testUrl Id="ExtraLarge">test.png</testUrl >
</xyz>
</root>
smallLogo.jpg
mediumLogo.jpg
largeLogo.jpg
test.png
smallLogo.jpg
mediumLogo.jpg
largeLogo.jpg
test.png
然后,您可以访问所有ID,尽管您可能需要根元素的另一个bean,然后您可以使用类似以下内容:root.getxyz()[i].gettesturl()[j].getid()。下面是一个类及其访问器方法的简化示例,据我所知,问题是- XYZ类-
public class XYZ {
private TestUrl[] testUrlArray;
public XYZ(){
testUrlArray = new TestUrl[2];
testUrlArray[0] = new TestUrl("ID_1");
testUrlArray[1] = new TestUrl("ID_2");
}
public TestUrl getTestUrl(int i){
return testUrlArray[i];
}
}
类TestUrl-
public class TestUrl {
private String id;
public TestUrl(String id){
this.id = id;
}
public String getId(){
return id;
}
}
这是获取给定TestUrl bean的Id的方式-
XYZ testXYZ = new XYZ();
System.out.println("testXYZ 0 - " + testXYZ.getTestUrl( 0 ).getId());
System.out.println("testXYZ 1 - " + testXYZ.getTestUrl( 1 ).getId());
控制台上的输出将是-
testXYZ 0 - ID_1
testXYZ 1 - ID_2
我不明白你的问题。莎拉,那甚至不是有效的XML;您用
打开每个子标记,但用
关闭它们。另外,您没有向我们显示您的类的任何代码xyz
。(这个bean是否真的被称为“xyz”,与Java命名约定的类名大写相比?)它的jst我发布的一个示例实际数据是不同的,我在解析后正确地获取数据问题是在迭代中xyz bean持有testurl[]bean,它持有id和图像,我如何使用xyz bean获取图像?再一次,您可能希望为xyz
和testurl
bean提供Java代码。我再次强烈建议您阅读并使用Java命名约定;它使其他人更容易阅读您的代码(并在这样的社区中帮助您,大多数其他人都遵守相同的约定)-1:这是我在stackoverflow上看到的最糟糕的问题之一。至少用正确的英语表达你的问题。另外,如果您的问题是关于在JavaBean上进行迭代,那么为什么要发布XML?向我们展示代码,并准确地指定您要实现的目标。如果没有更多的细节,我猜不出来。实际上,纠正它需要5秒钟,而且显然是一个打字错误。为什么投票被否决?这就是我正在做的。但是我不想使用testXYZ.getTestUrl(0.getId())而是想要一个迭代循环