私は次のXMLを持っています
<field label="mapping">
<tuple> <atom label="A"/> <atom label="X"/> </tuple>
<tuple> <atom label="B"/> <atom label="Y"/> </tuple>
<tuple> <atom label="C"/> <atom label="Z"/> </tuple>
</field>
他のノードのラベルがわかっているときに、atom
から2番目のノードのラベルを選択したいと思います。tuple
atom
たとえばatom
、ラベルAのを知っている場合、ラベルXのアトムを取得します。
私はこのXPath式を作成しましたが、それではうまくいきません。
//following-sibling::field[@label = 'mapping']/tuple/atom[@label = 'A']
私が書いたら
XPath expr = xpath.compile("//following-sibling::field[@label = 'mapping']/tuple/atom[@label = 'A']");
NodeList nodes = ((NodeList) expr.evaluate(doc, XPathConstants.NODESET));
for (int j=0;j<nodes.getLength();j++){
String label = nodes.item(j).getAttributes().getNamedItem("label").getNodeValue();
}
label
Xであると予想される場合、変数はAです。
私は何が間違っているのですか?