也许我是盲人但是我找不到任何关于为Sitecore的快速查询转义特殊字符的文档.
例如,我想在其描述中搜索包含以下文本的内容项:"hot n'chicious"
注意:我尝试过以下转义:
var searchTerm = "hot n'' tasty"; // thought it might need to be escaped for sql
var searchTerm = "#hot n' tasty#"; // this is how you do some other sitecore escaping
var searchTerm = "hot n\' tasty";
Run Code Online (Sandbox Code Playgroud)
示例应用代码:
var searchTerm = "hot n' tasty";
var query = string.Format("fast:/sitecore/content/Home/Products//*[@ContentDescriptionText='%{0}%']", searchTerm);
var items = Database.SelectItems(query);
Run Code Online (Sandbox Code Playgroud)
目前,这给了我一个例外,所以我假设我需要做一些转义:
"]预计在第67位.
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:Sitecore.Data.Query.ParseException:"]"预计在第67位.
有没有人知道如何在使用sitecore项目web api时逃避连字符/短划线?
路径:sitecore/content/Site/Home/Test-page/*
这是我的要求:
host/-/item/v1/?sc_database=web&query=%2fsitecore%2fcontent%2fSite%2fHome%2fTest-page%2f*
Run Code Online (Sandbox Code Playgroud)
这是回应:
{"statusCode":400,"error":{"message":"Bad Sitecore query (/sitecore/content/Site/Home/Test-page/*)."}}
Run Code Online (Sandbox Code Playgroud)
谢谢
我遇到的问题是Sitecore快速查询没有检索到内容树中存在的项目.Sitecore的版本是6.5(rev 121009).奇怪的是,这适用于另一种环境.我已经尝试按照此处列出的步骤清理数据库,但查询仍然失败.我想要检索的项目是电子邮件test02072013:

使用的快速查询是:
fast:/ sitecore/content/Home/Email Campaign/Test 02072013/Sent //*[@@ templatename ='HTML Message']
我已检查模板是否正确,并且项目的路径存在.我已经尝试在xpath构建器中运行查询但仍然没有运气.此外,正常的sitecore查询也不起作用:

我错过了一些明显的东西,还是有人有其他方法我可以尝试?谢谢