C# 使用';分析entityname时出错&';

C# 使用';分析entityname时出错&';,c#,xml,escaping,C#,Xml,Escaping,我有下一个用Visual c#打开.XML文档的程序。我无法打开Xml,因为它有一个“&”,我不知道如何打开它 private void button1_Click(object sender, EventArgs e) { XmlDocument doc; doc = new XmlDocument(); doc.Load("nuevo.xml"); XmlNodeList menus; menus = doc.GetElementsByTagName

我有下一个用Visual c#打开.XML文档的程序。我无法打开Xml,因为它有一个“&”,我不知道如何打开它

private void button1_Click(object sender, EventArgs e)
{
    XmlDocument doc;
    doc = new XmlDocument();
    doc.Load("nuevo.xml");

    XmlNodeList menus;
    menus = doc.GetElementsByTagName("menu");

    foreach (XmlNode unMenu in menus)
    {
        if (unMenu.Attributes["precio"].Value == "50")
        {
            //Console.WriteLine(unMenu.Attributes["type"].Value);
            XPathNavigator navegador = doc.CreateNavigator();
            XPathNodeIterator nodos = navegador.Select("/restaurante");
            while (nodos.MoveNext())
            {
                Console.WriteLine(nodos.Current.OuterXml);
                Console.WriteLine();
                textBox1.Text = nodos.Current.OuterXml;
            }
        }    
    }
}

将所有发生的
替换为
&。

将所有发生的
&
替换为
&。

将所有发生的
&
替换为
&。

将所有发生的
&
替换为
&

如果您得到错误

分析带有“&”的entityname时出错

然后在XML元素的名称中有一个“&”。这在XML文档中是不允许的。不能使用
XmlDocument
(或
XDocument
)类打开无效的XML文件

您可以做以下几件事:

  • 在尝试读取XML文件之前,请确保这些文件始终有效。但是,这取决于您的场景,可能不可能
  • 通过将“&”替换为“&;”,预处理XML文件以修复无效内容。您可以手动或在运行时执行此操作
  • 用于分析无效文件
  • 就我个人而言,如果可能的话,我会选择1)或2)否则的方法。

    如果你发现了错误

    分析带有“&”的entityname时出错

    然后在XML元素的名称中有一个“&”。这在XML文档中是不允许的。不能使用
    XmlDocument
    (或
    XDocument
    )类打开无效的XML文件

    您可以做以下几件事:

  • 在尝试读取XML文件之前,请确保这些文件始终有效。但是,这取决于您的场景,可能不可能
  • 通过将“&”替换为“&;”,预处理XML文件以修复无效内容。您可以手动或在运行时执行此操作
  • 用于分析无效文件
  • 就我个人而言,如果可能的话,我会选择1)或2)否则的方法。

    如果你发现了错误

    分析带有“&”的entityname时出错

    然后在XML元素的名称中有一个“&”。这在XML文档中是不允许的。不能使用
    XmlDocument
    (或
    XDocument
    )类打开无效的XML文件

    您可以做以下几件事:

  • 在尝试读取XML文件之前,请确保这些文件始终有效。但是,这取决于您的场景,可能不可能
  • 通过将“&”替换为“&;”,预处理XML文件以修复无效内容。您可以手动或在运行时执行此操作
  • 用于分析无效文件
  • 就我个人而言,如果可能的话,我会选择1)或2)否则的方法。

    如果你发现了错误

    分析带有“&”的entityname时出错

    然后在XML元素的名称中有一个“&”。这在XML文档中是不允许的。不能使用
    XmlDocument
    (或
    XDocument
    )类打开无效的XML文件

    您可以做以下几件事:

  • 在尝试读取XML文件之前,请确保这些文件始终有效。但是,这取决于您的场景,可能不可能
  • 通过将“&”替换为“&;”,预处理XML文件以修复无效内容。您可以手动或在运行时执行此操作
  • 用于分析无效文件

  • 就我个人而言,如果可能的话,我会选择1)或者2)如果可能的话。

    在这个问题上花了几个小时之后:结果是,如果您的XML字符串中有一个符号(&)或者任何其他XML转义符,那么在您尝试读取XML时,它总是会失败。要解决此问题,请使用转义字符串格式替换特殊字符
    YourXmlString=YourXmlString.Replace(“,”'”).Replace(“\”,”).Replace(“>”,”).Replace(”)在这个问题上花了几个小时之后:如果你有一个符号(&),那么或者XML字符串中的任何其他XML转义字符,如果您尝试读取XML,它将始终失败。要解决此问题,请使用转义字符串格式替换特殊字符
    
    YourXmlString=YourXmlString.Replace(“,”'”).Replace(“\”,”).Replace(“>”,”).Replace(”)在这个问题上花了几个小时之后:如果你有一个符号(&),那么或者XML字符串中的任何其他XML转义字符,如果您尝试读取XML,它将始终失败。要解决此问题,请使用转义字符串格式替换特殊字符
    
    YourXmlString=YourXmlString.Replace(“,”'”).Replace(“\”,”).Replace(“>”,”).Replace(”)在这个问题上花了几个小时之后:如果你有一个符号(&),那么或者XML字符串中的任何其他XML转义字符,如果您尝试读取XML,它将始终失败。要解决此问题,请使用转义字符串格式替换特殊字符
    
    YourXmlString=YourXmlString.Replace(“,”'”).Replace(“\”,”).Replace(“>”,”).Replace(“可能您试图解析无效(格式不正确)xml。你能显示它的内容吗?是的,就像Andy说的,&’应该转义一个未转义的
    &
    是一种可能性。另一种可能性是存在一个实体
    &something;
    ,并且相关的DTD还没有被读取。可能你正在试图解析无效的(格式不正确的)xml。你能显示它的内容吗?是的,就像Andy说的,&’应该转义一个未转义的
    &
    是一种可能性。另一种可能性是存在一个实体
    &something;
    ,并且相关的DTD还没有被读取。可能你正在试图解析无效的(格式不正确的)xml。你能显示它的内容吗?是的,就像Andy说的,&’应该转义一个未转义的
    &
    是一种可能性。另一种可能性是存在一个实体
    &something;
    ,并且相关的DTD还没有被读取。可能你正在试图解析无效(格式不正确)的xml。你能显示它的内容吗?是的,