Xpath获取至少具有一个属性的所有元素

时间:2017-12-13 17:43:08

标签: xml xslt xpath

我正在使用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

但到目前为止,这一切都没有解决问题。

2 个答案:

答案 0 :(得分:5)

试试这个

//*[@*]

使用示例输入中的XML使用https://www.freeformatter.com/xpath-tester.html#ad-output进行测试 您的代码也会按预期处理。

答案 1 :(得分:0)

请试试这个

//*[count(@*) > 0]/node()

//*[count(@*) > 0]/text()