2012-09-14 74 views
0

地說如我有這樣JDOM重複元素的名義處理

<Containers> 
     <Container ContainerGrossWeight="0.69" ContainerGrossWeightUOM="lbs" ContainerScm="16757598166153847" TrackingNo="420913119102999949374063023016"> 
     </Container> 
    <Container ContainerGrossWeight="4.84" ContainerGrossWeightUOM="lbs" ContainerScm="16757598166153848" 
    TrackingNo="420913119102999949374063023016"> 
     </Container> 
    </Containers> 

因此,「容器」的XML是父,它有兩個孩子..和其他。但在這兩個屬性值是不同的。

我使用JDOM來讀取和操作這些值。如果我寫下面的代碼,我會得到第一個屬性。我的問題是如何訪問第二個屬性和值?

Element Containers = rootNode.getChild("Containers") 

Element Container = Containers.getChild("Container") 

String ContainerSCM = Container.getAttributeValue("ContainerSCM") 

上面的代碼給了我「16757598166153847」作爲輸出 如何得到「16757598166153848」因爲這是第二個元素的容器屬性getAttributeValue輸出?

回答

0

使用Element.getChildren()檢索名爲Container的所有Containers兒童爲List<Element>然後取第二個。

List<Element> containers = rootNode.getChild("Containers").getChildren("Container"); 
Element secondContainer = containers.get(1); // take the second one 
String secondContainerSCRM = secondContainer.getAttributeValue("ContainerSCM"); 

或者你可以使用XPath直接選擇要使用//Containers/Container[2]的元素。

+0

非常感謝:) –