【发布时间】:2015-10-22 17:38:46
【问题描述】:
我一直在尝试加载一个包含一些 null('') 字符的 xml 文件。我试过了——
XmlDocument document = new XmlDocument();
document.LoadXml(xmlString);
和
XDocument.Load(stringReader);
XmlDocument.LoadXml() 方法成功加载 xml 文档,而 XDocument.Load() 方法为相同的 xml 字符串提供 XmlException。
要重现的示例代码:
string xmlFile = @"C:\dummyData.xml";
string xmlString = File.ReadAllText(xmlFile);
XmlDocument document = new XmlDocument();
document.LoadXml(xmlString); //Work
XDocument.Parse(xmlString); // Didn't work.
using (StringReader reader = new StringReader(xmlString))
{
XDocument.Load(reader);
}
Xml 文件
【问题讨论】:
-
您是在尝试报告错误(因为两者都应该失败)还是在寻找解决方法或其他什么?
-
document.LoadXml(xmlString)对应的方法是XDocument.Parse(xmlString)。 -
@AlexeiLevenkov:第一个选项是实际工作,所以我的问题是为什么 XDocument 无法加载 XmlDocument 可以加载的 xml 文件。
-
@ThomasWeller: '.',十六进制值 0x00,是无效字符。
-
@ThomasWeller :
标签: c# .net xml linq-to-xml