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>

したがって、「コンテナ」は親であり、2 つの子があります..そして別の..しかし、両方の属性値は異なります。

値の読み取りと操作には JDOM を使用します。以下のコードを書くと、 first の属性を取得します。私の質問は、 second の属性と値にどのようにアクセスするのですか?

Element Containers = rootNode.getChild("Containers")

Element Container = Containers.getChild("Container")

String ContainerSCM = Container.getAttributeValue("ContainerSCM")

上記のコードは、出力として「16757598166153847」を提供します。2 番目の Element Containers 属性の getAttributeValue である出力として「16757598166153848」を取得するにはどうすればよいですか?

4

1 に答える 1

0

を使用して、に指定されたElement.getChildren()すべてのContainers子を取得してから、2 番目を取得します。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 に答える