我遇到的問題是我正在爲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