Sometimes you encounter XML with a prefix when querying XML, for example:"<ows:Keyword></ows:Keyword>"
At this point, as usual, the query will error, similar to "need a namespace manager or XsltContext." This query has a prefix, variable, or user-defined function such as an error.
So the namespace manager needs to be introduced, the code is as follows
XmlDocument document =NewXmlDocument (); Document. Load (feed. Uri);//Get XML DocumentXmlNamespaceManager xmlm=NewXmlNamespaceManager (document. NameTable);//assigning a manager to a documentXmlm. AddNamespace ("content","http://purl.org/rss/1.0/modules/content/");//Add a namespaceXmlm. AddNamespace ("DC","HTTP://PURL.ORG/DC/ELEMENTS/1.1/"); Xmlm. AddNamespace ("WFW","http://wellformedweb.org/CommentAPI/"); Xmlm. AddNamespace ("Atom","Http://www.w3.org/2005/Atom"); Xmlm. AddNamespace ("Sy","http://purl.org/rss/1.0/modules/syndication/"); Xmlm. AddNamespace ("Slash","http://purl.org/rss/1.0/modules/slash/");
So you might ask: Where do I find the URL to the namespace? In fact they are in the header of the XML document and can be obtained from the XML document.
Here the problem is generally solved, but in my actual use still reported a mistake, the error content and the above basically the same.
The solution is to specify the manager again when querying node with the prefix, the following code item. selectSingleNode ("content:encoded", XMLM/* manager */) , The problem has been solved.
C # query XML resolves "Require namespace manager" issue