比如说我有这样的XML
<Containers>
<Container ContainerGrossWeight="0.69" ContainerGrossWeightUOM="lbs" ContainerScm="16757598166153847" TrackingNo="420913119102999949374063023016">
</Container>
<Container ContainerGrossWeight="4.84" ContainerGrossWeightUOM="lbs" ContainerScm="16757598166153848"
TrackingNo="420913119102999949374063023016">
</Container>
</Containers>
所以“容器”是父,它有两个子..另一个..但两者中的属性值不同。
我使用JDOM来读取和操作值。如果我写下面的代码,我首先得到属性。我的问题是如何访问第二个属性和值?
Element Containers = rootNode.getChild("Containers")
Element Container = Containers.getChild("Container")
String ContainerSCM = Container.getAttributeValue("ContainerSCM")
上面的代码给出了“16757598166153847”作为输出 如何将“16757598166153848”作为第二个Element Containers属性的getAttributeValue输出?
答案 0 :(得分:0)
使用Element.getChildren()
将名为Containers
的所有Container
子项检索到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]
直接选择所需的元素。