我遇到的问题是我正在为Sitecore CMS系统执行的XPath查询。XPath和特殊字符
此查询工作正常:
/根/内容/元数据/提示/ *
但当我尝试这个办法:
/根/内容/元数据/提示/ * [@ SomeAttribute ='somekey']
我得到一个错误,说“在位置22预期的字符串结束”,这是破折号字符被发现的地方。我的印象是,破折号不是XML中的特殊字符......我在这里做错了什么?我需要以某种方式编码吗?或者这是XPath解析器中的错误?任何建议的解决方法?
我遇到的问题是我正在为Sitecore CMS系统执行的XPath查询。XPath和特殊字符
此查询工作正常:
/根/内容/元数据/提示/ *
但当我尝试这个办法:
/根/内容/元数据/提示/ * [@ SomeAttribute ='somekey']
我得到一个错误,说“在位置22预期的字符串结束”,这是破折号字符被发现的地方。我的印象是,破折号不是XML中的特殊字符......我在这里做错了什么?我需要以某种方式编码吗?或者这是XPath解析器中的错误?任何建议的解决方法?
更改此:
/root/content/Meta-Data/Tips/*[@SomeAttribute='somekey']
要这样:
/root/content/#Meta-Data#/Tips/*[@SomeAttribute='somekey']
这很有效。有趣的是,如果我排除[@someattribute]过滤器,它会失败。你有这个来源?我没有看到它在W3C Xpath文档中提到。它同样在下面的XPath测试器awshepard链接上失败。 – Bryan 2010-04-23 21:44:31
http://sitecoredev.blogspot.com/2006/04/sitecore-xpath.html – 2010-04-23 22:48:30
我明白了......它不是真正的XPath实现。感谢您的链接。 – Bryan 2010-04-24 00:17:30