Java 使用XPath获取XML节点的同级
我有以下XMLJava 使用XPath获取XML节点的同级,java,xpath,Java,Xpath,我有以下XML <field label="mapping"> <tuple> <atom label="A"/> <atom label="X"/> </tuple> <tuple> <atom label="B"/> <atom label="Y"/> </tuple> <tuple> <atom label="C"/
<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>
如果我写
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();
}
XPath expr=XPath.compile(//以下同级::field[@label='mapping']/tuple/atom[@label='A']);
NodeList节点=((NodeList)expr.evaluate(doc,XPathConstants.NODESET));
对于(int j=0;j您的以下同级轴位于错误的位置,但很接近:
//field[@label = 'mapping']/tuple/atom[@label = 'A']/following-sibling::atom
您的以下同级轴位于错误的位置,但很接近:
//field[@label = 'mapping']/tuple/atom[@label = 'A']/following-sibling::atom
哦,哇!我没看到。谢谢!它起作用了,但现在我觉得自己很蠢。哦,哇!我没看到。谢谢!它起作用了,但现在我觉得自己很蠢。