【发布时间】:2013-12-24 08:04:55
【问题描述】:
我有一个读取 xml 信息的应用程序。 它工作正常,但是当我的父节点添加了 XMLNS 时,它停止工作并开始抛出 Null 引用异常。
这应该是什么可能的解决方案
XML 文件
<Info xmlns="urn:smilu.com">
<Number>123456</Number>
<Gender>2</Gender>
<NamesEng>
<First>FirstName</First>
<Second>SecondName</Second>
<Third>ThirdName</Third>
<Fourth>FourthName</Fourth>
<Fifth>FifthName</Fifth>
<Sixth>SixthName</Sixth>
</NamesEng>
</Info>
我的 C# 阅读代码是
NameTable nt = new NameTable();
XmlNamespaceManager nsMgr = new XmlNamespaceManager(nt);
nsMgr.AddNamespace("ns", "urn:smilu.com");
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(_LabourXMLInfo);
string Number = xdoc.DocumentElement.SelectSingleNode("Number", nsMgr).InnerText;
如果我从 Info 节点中删除 xmlns,上述代码将完美运行。但是,添加了 xmlns 后,我发现异常。 请帮我解决这个问题。
【问题讨论】:
-
我试过但没用
-
我解决了这个问题。 XmlNamespaceManager nsMgr = new XmlNamespaceManager(xdoc.NameTable);并在所有代码中保留 ns: 作为前缀
标签: c# asp.net xml xmldocument