Sitecore xpath查询无效

时间:2012-08-28 22:42:45

标签: xpath sitecore sitecore6

查询1:/sitecore/content/FR/Cabinet/New Category/Attributes//*[@@TemplateID = '{95793C69-3E37-4CEB-9AF4-FD88276D85AA}']

查询2:/sitecore/content/FR/Cabinet/New Category/Child Category 1/Attributes//*[@@TemplateID = '{95793C69-3E37-4CEB-9AF4-FD88276D85AA}']

expected ::说,

查询1有效,没有问题 - 查询2不起作用。有什么不同,除了一个更深层次之外。事实上,/Child Category 1/实际上attributes文件夹中没有任何子项,而/New Category/Attributes确实...

UPDATE - 所以似乎“Child”是Xpath中的关键字......这里的解决方法是什么?

1 个答案:

答案 0 :(得分:5)

您可以通过将其包装在哈希值中来转义类别:

/sitecore/content/FR/Cabinet/New Category/#Child Category 1#/ ...

当选择包含空格的字段时,这也很方便:

... //*[@#My Spaced Out Field# = '%Hey Yo!%']

如果您要动态构建查询,可能需要考虑单独转义每个令牌,使用.Axes API,或使用Lucene选择项目。