XmlDocument xmldoc = new XmlDocument();
    xmldoc.XmlResolver = null;

    xmldoc.Load("URL");
    XmlWriter xmlWrite = XmlWriter.Create(@Server.MapPath("Test.xml"));
    xmldoc.Save(xmlWrite);
    xmlWrite.Close();

上面是我用来读取XML文件的代码。我正在加载的XML包含诸如nbsp;之类的实体,因此,该代码引发了XMLException:

最佳答案

有两种方法可以解决此问题,但是对于这两种方法,您都需要对输入文件进行更改。

1)在输入文件中将 更改为 。始终最好使用Unicode并避免XML文档中的可读实体。使用普通的Unicode字符或其数字形式。

2)如果您仍然需要/想要使用 您可以在将为您进行转换的文件中声明自定义doctype:

<!DOCTYPE doctypeName [
   <!ENTITY nbsp "&#160;">
]>

由于&nbsp;不是XML的预定义实体之一,因此出现了此问题。

关于c# - 在C#中从URL读取xml时引用未声明的实体 'nbsp'?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15701745/

10-13 05:23