Tôi đang truy vấn phía máy chủ Sharepoint và nhận lại kết quả dưới dạng Xml. Tôi muốn giảm bớt Xml thành một cái gì đó nhẹ hơn trước khi gửi nó đến jQuery thông qua một WebMethod.Tại sao truy vấn XPath này không trả về bất kỳ nút nào?
Tuy nhiên truy vấn XPath của tôi không hoạt động. Tôi nghĩ đoạn mã sau sẽ trả về tất cả các nút Document, nhưng nó không trả về gì cả. Tôi đã sử dụng XPath một chút trước đây, tôi nghĩ rằng //Document
làm các trick.
C# truy vấn XPath
XmlDocument xmlResults = new XmlDocument();
xmlResults.LoadXml(xml); // XML is a string containing the XML source shown below
XmlNodeList results = xmlResults.SelectNodes("//Document");
XML được truy vấn
<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 sẽ trả về Các nút 'Tài liệu' trong tệp XML nguồn. Bạn có chắc là họ đang ở đó và nếu bạn chắc chắn biến 'results' của bạn trống không? – Oded
Biến chuỗi xml chứa XML được hiển thị ở trên, tôi đã cập nhật mã nguồn của tôi với một nhận xét để giao tiếp này –