我正在使用以下(次优)XML:
<a>
<b>
<c>X:1 Y:0</c>
<c>X:1 Y:0</c>
<c>X:2 Y:0</c>
</b>
<b>
<c>X:1 Y:0</c>
<c>X:2 Y:0</c>
</b>
</a>
我正在尝试使用XPath来计算内容包含<c>
的{{1}}个节点的数量:
X:1
但是,这会返回错误,而不是返回预期的count(contains(/a/b/c, 'X:1'))
计数。
我做错了什么?
答案 0 :(得分:8)
这不是您使用contains()
的方式。尝试
count(/a/b/c[contains(., 'X:1')])
答案 1 :(得分:3)
可能效率更高(如果提供的XML文档中显示的属性不是偶然的):
count(/a/b/c[starts-with(., 'X:1')])