0

私は単純な xml ドキュメントを持っています:

<Results>
     <Result>
          <Number>1</Number>
          <Data>a</Data>
     </Result>
     <Result>
          <Number>2</Number>
          <Data>b</Data>
     </Result>
</Results>

このコードを使用して、各結果のデータと数を取得しようとしています:

XPathExpression resExpr = xpath
        .compile("//Results/Result");
XPathExpression numExpr=xpath
        .compile("//Result/Number");
XPathExpression dataExpr=xpath
        .compile("//Result/Data");
NodeList nodeList = (NodeList) resExpr.evaluate(root_node,
        XPathConstants.NODESET);
for (int i=0;i<nodeList.getLength();i++) {

    Node result=nodeList.item(i);

    if (result!=null) {
        Node numNode=(Node)  numExpr.evaluate(result,
                XPathConstants.NODE);
        Node dataNode=(Node)  dataExpr.evaluate(result,
                XPathConstants.NODE);
        String data=dataNode.getTextContent());
        String num=numNode.getTextContent());

    }
}

ただし、両方の反復で 1/a を取得します。ノードを渡しても xpath がそれをコンテキストとして使用するのではなく、ツリー全体を見ているように見えますか?

4

1 に答える 1