XPath和特殊字符

时间:2010-04-23 20:56:09

标签: xpath sitecore

我遇到了我正在为Sitecore CMS系统执行的XPath查询的问题。

此查询正常工作:

/根/内容/元数据/提示/ *

但是当我尝试这个时:

/根/内容/元数据/提示/ * [@ SomeAttribute = 'somekey']

我收到一条错误,上面写着“在22号位预期的字符串结尾”,这是找到短划线字符的地方。我的印象是破折号不是XML中的特殊字符......我在这里做错了吗?我需要以某种方式编码吗?或者这是XPath解析器中的错误?任何建议的解决方法?

2 个答案:

答案 0 :(得分:12)

改变这个:

/root/content/Meta-Data/Tips/*[@SomeAttribute='somekey']

对此:

/root/content/#Meta-Data#/Tips/*[@SomeAttribute='somekey']

答案 1 :(得分:0)

根据XML spec标签名称中的字符,连字符应该是有效字符。我已经使用this site进行了一些XPath测试,发现它有助于将结果与其他解析器进行比较。