C#中的System.Xml.XmlException

时间:2016-09-06 07:40:09

标签: c# xml

我正在尝试加载“;”在一个Xml文档到我的表单在代码工作正常,直到昨天我收到下面的错误消息的一些共鸣,我没有对代码进行任何更改。

错误: “System.Xml.dll中发生了'System.Xml.XmlException'类型的未处理异常 附加信息:根级别的数据无效。第1行,第1位。“

守则:

XmlDocument myContacts = new XmlDocument();
string path = "C:\\Users\\Name\\\mycontacts.xml";

private void LoadContacts()
    {
        myContacts.LoadXml(path);

        foreach (XmlNode node in myContacts.SelectNodes("Contacts/Contact"))
        {
            lstContacts.Items.Add(node.SelectSingleNode("Name").InnerText);
        }
    }

我尝试了Linq(XDocument),但在那里得到了同样的问题,但在“;”在Program.cs Main。

Application.Run(new Form1());

我已经四处搜索并尝试了没有结果的詹姆斯舒伯特的解决方案。

XML:

 <?xml version="1.0" encoding="UTF-8"?>
 <Contacts>
    <Contact>
        <Name>Testing</Name>
        <Email>test@gmail.com</Email>
        <Phone>070 00 00 000</Phone>
        <Street>Test A1</Street>
        <Zip>000 00</Zip>
        <Town>Testing</Town>
    </Contact>
</Contacts>

我知道这个主题已有很多主题,但无法让他们的任何答案/解决方案发挥作用。

有没有比我搜索解决方案时能找到的更“神奇”的方法来处理这个问题?

1 个答案:

答案 0 :(得分:2)

XmlDocument.LoadXml用于解析XML字符串。文档中的一个例子:

XmlDocument doc = new XmlDocument();
doc.LoadXml("<item><name>wrench</name></item>");

要从文件加载,请使用XmlDocument.Load

顺便说一下,如果您还没有,我建议您查看LINQ to XML。它是一个更好的API。