为什么我在尝试加载xml文件时解析EntityName时发生错误?

时间:2017-05-21 21:55:09

标签: c# xml winforms

我有这个xml数据

<Categories>
    <cat name="Appliances"></cat>
    <cat name="Arts, Crafts & Sewing"></cat>
    <cat name="Automotive"></cat>
    <cat name="Baby"></cat>
</Categories>

我使用此代码将数据读入组合框:

XmlDocument xDoc = new XmlDocument();
xDoc.Load("cat.xml");
XmlNodeList cats = xDoc.GetElementsByTagName("cat");
for (int i = 0; i < cats.Count; i++)
{
   comboBox1.Items.Add(cats[i].Attributes["name"].InnerText);
}

但在第xDoc.Load("cat.xml");行我收到错误:

  

发生了'System.Xml.XmlException'类型的未处理异常   System.Xml.dll解析EntityName时发生错误。 3号线,   第30位。

这是什么意思?

1 个答案:

答案 0 :(得分:1)

您的xml包含一个使其无效的&符号,请在解析之前尝试此操作

var xmlContent = File.ReadAllText("cat.xml");
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(xmlContent.Replace("&", "&amp;"));