Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用XPath获取XML节点的同级_Java_Xpath - Fatal编程技术网

Java 使用XPath获取XML节点的同级

Java 使用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"/

我有以下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>
如果我写

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

哦,哇!我没看到。谢谢!它起作用了,但现在我觉得自己很蠢。哦,哇!我没看到。谢谢!它起作用了,但现在我觉得自己很蠢。