我有以下xml格式,我正在解析并获取数据并存储在名为xyz的bean中,该bean将testurl作为另一个bean xyz有一个testurl bean一个数组,test url bean有id和image
<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>
我正在访问数据xyz.gettesturl()[i].getid()
,无法正确迭代并获取所有数据,我将如何遍历数组?
答案 0 :(得分:1)
这是一个简化的类及其访问器方法的示例,从我理解的问题来看 -
类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
答案 1 :(得分:0)
此:
xyz.gettesturl()[i].getid()
将获得由testUrl
编制索引的特定i
。如果你想迭代,你应该尝试使用:
xyz.gettesturl()
迭代。
答案 2 :(得分:-1)
您提供的xml无效。你的xml中没有ROOT元素。 如果你有
<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>
然后你可以访问所有ID,虽然你可能需要另一个bean用于根元素,然后你可以使用类似:root.getxyz()[i] .gettesturl()[j] .getid()。