使用 Xpath 计算标签中的特定标点符号
Count specific punctuation in a tag using Xpath
我正在尝试计算标记 "report":
中冒号后跟 space 的数量
<report>But that doesn't work either: what do you guys think: To be solved</report>
我的 xpath 代码
`report[count([text()=": "]) > 1]`
但它不起作用
要完成@Slkrasnodar 提供的 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()
输出:李
我正在尝试计算标记 "report":
中冒号后跟 space 的数量<report>But that doesn't work either: what do you guys think: To be solved</report>
我的 xpath 代码
`report[count([text()=": "]) > 1]`
但它不起作用
要完成@Slkrasnodar 提供的 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()
输出:李