XmlException:输入文档已超出MaxCharactersFromEntities设置的限制

我有一个XML文件,如下所示:

<!DOCTYPE Root [    ...  ]>  &file1; &file2; ... &file25;  

我正在使用像这样的XmlDocument加载XML文件

 XmlDocument doc = new XmlDocument(); doc.Load("filePath to the above xml file"); 

加载会引发标题中提到的exception。 我在Windows 7旗舰版上运行.NET 4.5,VS 2012 Desktop Express。 任何帮助表示赞赏。 谢谢

您需要使用设置属性MaxCharactersFromEntities设置为0的XmlReader (或者适用于您的场景的大数字):

  var doc = new XmlDocument(); using (var stream = new MemoryStream(Encoding.Default.GetBytes(xml))) { var settings = new XmlReaderSettings(); // The default is 0, but setting it here allows us to document exactly why we are taking this approach. settings.MaxCharactersFromEntities = 0; using (var reader = XmlReader.Create(stream, settings)) { doc.Load(reader); } }