所以我有一个看起来像这样的文档
<a xmlns="uri1" xmlns:pre2="uri2">
<b xmlns:pre3="uri3">
<pre3:c>
<stuff></stuff>
<goes></goes>
<here></here>
</pre3:c>
<pre3:d xmlns="uri4">
<under></under>
<the></the>
<tree></tree>
</pre3:d>
</b>
</a>
我希望得到一个可以获取<under>
的xpath表达式。
这个元素的namespaceURI是uri4。
目前我的表达式看起来像:
//ns:a/ns:b/pre3:d/pre4:under
我让名称空间管理器为默认名称空间(在这种情况下为uri1)添加了“ns”,并使用pre2、pre3和pre4分别定义了它们的uri2、uri3和uri4。
我收到错误消息“表达式必须计算为节点集”。
我知道该节点存在。 我知道直到我的xpath中的
pre4:under
之前的所有内容都正常工作,因为我在文档的其余部分中使用它而没有任何问题。 是额外的pre4:under
导致了错误,我不确定原因。有什么想法吗?
谢谢。
解决方法:
感谢大家坚持认为这是正确的-确实如此。 但是...在我的代码中,我将“pre4”作为“64”(一个变量),它不喜欢将整数用作前缀。 将其更改为“d”+ myintvariable即可。