0

比如说我有一个这样的 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 来读取和操作这些值。如果我编写下面的代码,我会得到 first 的属性。我的问题是如何访问 second 的属性和值?

Element Containers = rootNode.getChild("Containers")

Element Container = Containers.getChild("Container")

String ContainerSCM = Container.getAttributeValue("ContainerSCM")

上面的代码给了我“16757598166153847”作为输出我如何得到“16757598166153848”作为第二个元素容器属性的getAttributeValue的输出?

4

1 回答 1

0

使用Element.getChildren()检索所有命名为 a然后取第二个的Containers孩子。ContainerList<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]

于 2012-09-14T04:48:42.080 回答