XmlDocument.Load Vs XmlDocument.LoadXml
我刚刚遇到使用XmlDocument.LoadXml
的问题。
应用程序崩溃,出现以下错误:
“根级别的数据无效。第1行,第1位”
在检查XML并发现它没有任何问题后,我搜索了一下,发现了一个使用XmlDocument.Load
而不是XmlDocument.LoadXml
。
我已经尝试过,它完美无缺。
我的问题是:两种方法之间有什么区别,哪些可能导致一种工作而另一种方法失败?
XmlDocument.Load用于从流,TextReader,路径/ URL或XmlReader加载XML。 XmlDocument.LoadXml用于加载字符串中包含的XML。
它们是根本不同的加载XML的方式,具体取决于XML的实际存储位置。 所以听起来你使用错误的方法来处理XML的位置。
您是否尝试使用XmlDocument.LoadXml
并传入文件名? 它没有这样做 – 它假定您传入的字符串是 XML。 所以你可以使用:
doc.LoadXml("");
要么
doc.Load("myfile.xml");
如果这没有帮助,你能展示你失败的工作代码吗? 您可以通过不同的方式将LoadXml
更改为Load
…
假设您以正确的方式使用XmlDocument.Load
和XmlDocument.LoadXml
,此问题可能是由字节顺序标记引起的。
这个问题可能有用。
Load()从某个源加载,而LoadXml()直接从字符串加载
应用程序崩溃时出现以下错误:“根级别的数据无效。第1行,第1位”我怀疑您的xml数据没有根级别:例如:
dataata dataataa
你需要在底层之上至少有一个根级别。 例如:
dataata dataataa
所以请把一位母亲放在你的关卡之上,让它成为所有孩子的盛大母亲