SharePoint:按名称搜索文件夹,这些文件夹是文档库的子文件夹

时间:2013-03-20 14:28:35

标签: c# sharepoint service

我想搜索SharePoint中具有特定标题的文档库的所有子文件夹。我正在使用service.asmx Web服务。

不知怎的,它不起作用。我没有得到任何结果,也不知道如何解决问题。

我的代码如下:

 var service = new SharePointSearchService1.QueryService();
 service.PreAuthenticate = true;

 service.Credentials = CredentialCache.DefaultNetworkCredentials;

 var queryXml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
 queryXml += "<QueryPacket xmlns=\"urn:Microsoft.Search.Query\">";
 queryXml +=     "<Query>";
 queryXml +=         "<SupportedFormats>";
 queryXml +=             "<Format>urn:Microsoft.Search.Response.Folder:Folder</Format>";
 queryXml +=         "</SupportedFormats>";
 queryXml +=         "<Context>";
 queryXml +=              "<QueryText language=\"de-DE\" type=\"MSSQLFT\">SELECT Size, Rank, Path, Title, Description, Write FROM scope() WHERE  CONTAINS(Path, '\"http://sharepoint/area/test/Test Projects/*\"') </QueryText>";
 queryXml +=         "</Context>";
 queryXml +=         "<Range>";
 queryXml +=             "<StartAt>1</StartAt>";
 queryXml +=             "<Count>5000</Count>";
 queryXml +=         "</Range>";
 queryXml +=     "</Query>";
 queryXml += "</QueryPacket>";

 var result = service.Query(queryXml); 

上述代码不起作用。我期望获得位于文档库(测试项目)内的所有项目(如文件夹)。

我可以使用以下查询搜索项目:

queryXml += "<QueryText language=\"de-DE\" type=\"MSSQLFT\">SELECT Size, Rank, Path, Title, Description, Write FROM scope() WHERE  CONTAINS(Title, '\"AA*\"') </QueryText>";

但这会返回整个网站的结果。我只想拥有文档库和此库的子文件夹中的项目。

我也尝试使用“喜欢”谓词,但也没有返回任何内容。

有人知道我做错了吗?

0 个答案:

没有答案