Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组迭代_Java_Xml - Fatal编程技术网

Java 数组迭代

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 > <

我有以下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 > 
  <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())而是想要一个迭代循环