我编写了一个小程序 - 它向 Microsoft Search Server (_vti_bin/search.asmx) Web 服务发出请求,接收答案并显示它们。请求的格式是 STRING。
查询包在这里:
@"<QueryPacket xmlns='urn:Microsoft.Search.Query'>
<Query>
<SupportedFormats>
<Format revision='1'> urn:Microsoft.Search.Response.Document:Document</Format>
</SupportedFormats>
<Context>
<QueryText language='en' type='STRING'>{0}
</QueryText>
</Context>
<ResultProvider>Default</ResultProvider>
<Range>
<Count>10</Count>
</Range>
</Query>
</QueryPacket>"
并提出请求代码:
var queryService = new QueryWebServiceProxy.QueryService();
queryService.Credentials = System.Net.CredentialCache.DefaultCredentials;
MessageBox.Show(queryService.Query(GetXmlString()));
private string GetXmlString()
{
return String.Format(QUERY_XML, queryTextBox.Text);
}
有两种类型的响应:DataSet 和 XML。我更喜欢使用 XML,但 DataSet 答案比 XML 包含更多信息。
DataSet: WorkId、Rank、Title、Size、Path、Description、Write、SiteName、CollapsingStatus、HitHighlightedSummary、HitHighlightedProperty、ContentClass、IsDocument... XML:title、action、urlLink、Description、Date
我可以接收更多 XML 格式的信息吗?也许标签“SupportedFormats”可以帮助我?