2009-12-29 111 views
-2

我有以下XML格式,其我解析和獲取的數據,並在一個豆存儲稱爲XYZ其具有作爲anotherbean XYZ具有testurl豆testurl陣列,測試URL 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> 

我訪問的數據有xyz.gettesturl()[i].getid(),無法正確迭代並獲取所有數據,我將如何遍歷數組?

+0

我不明白你的問題。 – 2009-12-29 14:21:22

+1

這甚至不是有效的XML ...... – skaffman 2009-12-29 14:22:43

+0

莎拉,這甚至不是有效的XML;你用''打開每個子標籤,但用關閉它們。另外,你不會向我們展示你的類「xyz」的任何代碼。 (這個bean真的叫做「xyz」,違背了Java命名規則,即類名是大寫的嗎?) – delfuego 2009-12-29 14:23:37

回答

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豆的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 
+0

這就是我所做的。但不是使用testXYZ.getTestUrl(0).getId())我想循環迭代 – sarah 2009-12-30 04:06:16

0

此:

xyz.gettesturl()[i].getid() 

將得到具體testUrli索引。如果你想迭代你應該嘗試使用:

xyz.gettesturl() 

迭代。

+0

我正在做同樣的事情,但不能正常工作 – sarah 2009-12-29 14:37:02

+0

向我們展示代碼,並確切地說明你想要達到的目標。沒有更多的細節我無法猜測。 – Oded 2009-12-29 14:51:28

-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雖然你可能需要另一個豆的根元素,那麼你可以使用類似:root.getxyz()[I] .gettesturl()[J] .getid ()。

+4

這個XML也是無效的。 – BalusC 2009-12-29 14:30:48

+1

真的需要5秒來糾正它,並清楚地輸入一個錯字。爲什麼投票下來? – Numenor 2009-12-29 16:32:20