查询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中的关键字......这里的解决方法是什么?
答案 0 :(得分:5)
您可以通过将其包装在哈希值中来转义类别:
/sitecore/content/FR/Cabinet/New Category/#Child Category 1#/ ...
当选择包含空格的字段时,这也很方便:
... //*[@#My Spaced Out Field# = '%Hey Yo!%']
如果您要动态构建查询,可能需要考虑单独转义每个令牌,使用.Axes
API,或使用Lucene选择项目。