数组迭代

时间:2009-12-29 14:19:12

标签: java xml

我有以下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(),无法正确迭代并获取所有数据,我将如何遍历数组?

3 个答案:

答案 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()。