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
XPath-获取只有具有特定属性的子节点的节点_Xpath - Fatal编程技术网

XPath-获取只有具有特定属性的子节点的节点

XPath-获取只有具有特定属性的子节点的节点,xpath,Xpath,我有一个SVG文档,其中包含类似于以下内容的节点: <item> <g> <path fill="#FFFFFF" ... ></path> <path fill="none" ... ></path> <ellipse fill="none" ... ></path> </g> <g> &

我有一个SVG文档,其中包含类似于以下内容的节点:

<item>
    <g>
        <path fill="#FFFFFF" ... ></path>
        <path fill="none" ... ></path>
        <ellipse fill="none" ... ></path>
    </g>
    <g>
        <path fill="none" ... ></path>
        <path fill="none" ... ></path>
        <ellipse fill="none" ... ></path>
    </g>
    <g>
       <path fill="#FFFFFF" ... ></path>
       <path fill="#FFFFFF" ... ></path>
       <ellipse fill="#FFFFFF" ... ></path>
    </g>
</item>

我试图做的只是选择只包含具有
fill=“none”
属性的子节点的
节点。因此,我试图找到一个XPath,它只与示例中的第二个
节点匹配

我已经做了我那份关于堆栈溢出的谷歌搜索工作,但似乎没有任何效果

我认为最接近实际情况的一个错误是,在使用
$x()
helper的Google Chrome开发工具中,它不是一个有效的XPath表达式

*[name()=“g”及其后代::*[@fill=“none”]]

谢谢你的帮助

谢谢

试试:

*[    name()="g"
  and descendant::*[@fill="none"]
  and count(descendant::*[@fill="none"]) = count(descendant::*)
 ]
尝试:

尝试:

尝试:

这仍然会选择
包含
fill=“none”
的节点以及
fill=“#FFFFFF”
。这仍然会选择
包含
fill=“none”
的节点以及
fill=“#FFFFFF”
。这仍然会选择
包含
fill=“none”
的节点以及
fill=“#ffff>
。这仍然会选择包含
fill=“none”
以及
fill=“#FFFFFF”
的节点。