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