读取带命名空间的Xml文档的方法备忘

很久没有做xml方面的解析,今天接到一个小任务,需要解析xml里面的字段内容,顺带复习了一下xpath方面的知识。需要解析的xml是那种待namespace的文档,一开始解析就碰到问题,我就感觉是命名空间在作怪,印象中之前也处理过这种问题,但时间久远,都忘记了,也没有记录下来。

折腾了一会总算找到了方法,.NET中读取带xml命名空间的xml文档的方式确实麻烦,不够直接。不管怎样,还是记录一下解决方法,省得以后又要被折腾一次。

View Code
 1  StringReader textReader = new StringReader(surveyProject.SurveryContent);
 2             XPathDocument xd = new XPathDocument(textReader);
 3             XPathNavigator navigator = xd.CreateNavigator();
 4 
               -- 加入命名空间
 5             NameTable nt = new NameTable();
 6             XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
 7             nsmgr.AddNamespace("rc""http://sechemas.hirede.com/2011/05/Apps/ReferenceChecking");
 8       
               -- 用的时候还得传入
 9             XPathNavigator pathNavigator = navigator.SelectSingleNode("//rc:BasicInformation/rc:Name", nsmgr);
10 
11             if (pathNavigator != null)
12             {
13                 return pathNavigator.Value;
14             }
原文地址:https://www.cnblogs.com/shenba/p/2263751.html