我在C#代码中使用了Sitecore快速查询来获取与条件匹配的项目和子项目。但快速查询不会返回任何项目,但有。
我的快速查询如下;
fast:/sitecore/content/...//*[@__Workflow state='{item id}']
这不会返回任何项目,但从查询中删除fast:
将会花费更多时间来返回项目。
我尝试在查询路径中转义空格,如下所示,但它不起作用;
fast:/sitecore/content/...//*[@#__Workflow state#='{item id}']
有没有办法通过快速查询来过滤子项?
答案 0 :(得分:0)
我注意到你在查询中使用了theee点,这是不正确的。您可以使用2个点来完成父项,但在查询中选择/sitecore/content
中的父项似乎有点奇怪。
您似乎可以使用此查询:
fast:/sitecore/content//*[@__Workflow state='{item id}']
另请参阅this document以获取语法和示例以及使用快速查询代替普通查询的限制
编辑:
Sitecore快速查询不考虑上下文语言(结果包括版本与任何语言的查询匹配的项目)。我刚刚在Sitecore的开发人员中心进行了快速测试,在我的情况下,它只产生了一个项目,工作流状态设置为英语,而不是我当前的上下文语言。这可能是您遇到的情况。