我在查询Sharepoint服务器端并获取结果作为Xml。我希望通过WebMethod将其发送到jQuery之前,将Xml细化为更轻量级的东西。为什么这个XPath查询不返回任何节点?
但是我的XPath查询是行不通的。我认为下面的代码会返回所有的Document节点,但它什么都不返回。我之前使用过XPath,我认为//Document
可以做到。
C#XPath查询
XmlDocument xmlResults = new XmlDocument();
xmlResults.LoadXml(xml); // XML is a string containing the XML source shown below
XmlNodeList results = xmlResults.SelectNodes("//Document");
XML被查询
<ResponsePacket xmlns="urn:Microsoft.Search.Response">
<Response domain="QDomain">
<Range>
<StartAt>1</StartAt>
<Count>2</Count>
<TotalAvailable>2</TotalAvailable>
<Results>
<Document relevance="126" xmlns="urn:Microsoft.Search.Response.Document">
<Title>Example 1.doc</Title>
<Action>
<LinkUrl size="32256" fileExt="doc">http://hqiis99/Mercury/Mercury documents/Example 1.doc</LinkUrl>
</Action>
<Description />
<Date>2010-08-19T14:44:56+01:00</Date>
</Document>
<Document relevance="31" xmlns="urn:Microsoft.Search.Response.Document">
<Title>Mercury documents</Title>
<Action>
<LinkUrl size="0" fileExt="aspx">http://hqiis99/mercury/Mercury documents/Forms/AllItems.aspx</LinkUrl>
</Action>
<Description />
<Date>2010-08-19T14:49:39+01:00</Date>
</Document>
</Results>
</Range>
<Status>SUCCESS</Status>
</Response>
</ResponsePacket>
XPath将返回al l源XML文件中的'Document'节点。你确定他们在那里,如果是的话,你确定你的结果变量是空的吗? – Oded 2010-08-20 10:05:31
XML字符串变量包含上面显示的XML,我已经更新了我的源代码的注释沟通这个 – 2010-08-20 10:07:42