【发布时间】:2011-12-15 14:49:02
【问题描述】:
我正在使用以下(次优)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 来计算内容包含 X:1 的 <c> 节点的数量:
count(contains(/a/b/c, 'X:1'))
但是,这会返回错误而不是返回 3 的预期计数。
我做错了什么?
【问题讨论】:
-
这是我倾向于建议使用将这些元素扩展为
<c><X>1</X><Y>0</Y></c>等的样式表对您的XML 进行预处理的情况之一,然后处理这样的数据就变得微不足道了。如果这只是一次性任务,那么这可能不值得,但如果这是您必须做很多事情的事情,那么首先考虑将数据转换为更可用的形式绝对值得。