使用名称空间对象引用未设置为对象的实例读取XML

时间:2019-03-28 17:22:29

标签: c# xml

尝试从我的XML文件中获取orderCount和completedCount:

<?xml version="1.0" encoding="utf-8"?>
<MENU xmlns="http://test.xsd">
    <STATUS>
        <ORDER_COUNT>22</ORDER_COUNT>
        <COMPLETED_COUNT>0</COMPLETED_COUNT>
        </STATUS>
    <ITEM>
        <ITEM1>BURGER</ITEM1>
    </ITEM>
</MENU>

使用我的C#代码:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlerrorFile);
XmlNamespaceManager xmlNS = new XmlNamespaceManager(xmlDoc.NameTable);
xmlNS.AddNamespace("ns", @"http://test.xsd");
XmlNodeList nl = xmlDoc.SelectNodes("ns:MENU/ns:STATUS", xmlNS);

      foreach (XmlNode xndNode in nl)
            {
                string orderCount = xndNode.SelectSingleNode("ORDER_COUNT").InnerText;
                string completedCount = xndNode.SelectSingleNode("COMPLETED_COUNT").InnerText;

                if (orderCount != "0")
                {
                    label1.Text = "Error";
                }

                else
                {
                    label1.Text = "Good";
                }


             }  

我收到错误消息“对象引用未设置为对象的实例”。

orderCount和completedCount。

1 个答案:

答案 0 :(得分:0)

使用调试器检查“ nl”不为空,之后将“ xndNode”检查为foreach不为空