【问题标题】:System.Xml.XmlException in C# [duplicate]C# 中的 System.Xml.XmlException [重复]
【发布时间】:2016-09-06 15:45:28
【问题描述】:

我正在尝试加载“;”在我的表单的 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());

我用谷歌搜索并尝试了 James Schubert 的解决方案,但没有结果。

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>

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

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

【问题讨论】:

标签: c# xml


【解决方案1】:

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

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

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-22
  • 2023-04-08
相关资源
最近更新 更多