Xpath 获取具有至少一个属性的所有元素
Posted
技术标签:
【中文标题】Xpath 获取具有至少一个属性的所有元素【英文标题】:Xpath to get all elements with at least one attribute 【发布时间】:2018-05-27 17:01:57 【问题描述】:我正在使用 xpath、xml 和 xsl,所以在我的项目中,我需要找到至少具有一个属性的所有元素。例如,如果我有这个 xml 内容:
<catalog>
<show>
<titulo>so so</titulo>
<ano>1991</ano>
</show>
<sound id="1">some string song</sound>
结果我希望只有声音节点。
我已经尝试过这个 xpath
count(@*) > 0
和
string-lenght(@*) > 0
但到目前为止,这些都没有解决问题。
【问题讨论】:
【参考方案1】:试试这个
//*[@*]
使用来自示例输入的 XML 测试 https://www.freeformatter.com/xpath-tester.html#ad-output 您的代码也会按照您的预期进行处理。
【讨论】:
【参考方案2】:请试试这个
//*[count(@*) > 0]/node()
或
//*[count(@*) > 0]/text()
【讨论】:
以上是关于Xpath 获取具有至少一个属性的所有元素的主要内容,如果未能解决你的问题,请参考以下文章