我正在计算标签"report"中冒号后面跟空格的数量:
<report>But that doesn't work either: what do you guys think: To be solved</report>
我的xpath代码
`report[count([text()=": "]) > 1]`
但它不起作用
要完成@slkrasondar提供的XPath 2.0解决方案,下面是XPath 1.0解决方案:
string-length(//report)-string-length(translate(//report,":",""))
我们检查原始字符串的长度。然后我们生成一个不带冒号的字符串并检查其长度。最后,我们将这个长度从原始长度字符串中减去,得到结果。
输出:2
编辑:请修复您的XML文件。它包含未关闭的标记。我曾经合作过:
<authors>
<author>
<gnm>Lee</gnm>
<snm>Auch</snm>
</author>
<report>Search Results: Count the number of words in a xml node using xsl: Thank you</report>
</authors>
要获取报告中包含多个冒号的作者姓名,请使用以下表达式:
//authors[string-length(//report)-string-length(translate(//report,":",""))>1]//gnm/text()
输出:Lee