XmlDocument.Load Vs XmlDocument.LoadXml

Ser*_*gio 20 c# xmldocument

我刚遇到一个问题XmlDocument.LoadXml.

应用程序崩溃,出现以下错误:

"根级别的数据无效.第1行,第1位"

在检查了XML并发现它没有任何问题之后,我搜索了一下,发现了一个使用的提示XmlDocument.Load而不是XmlDocument.LoadXml.

我已经尝试过了,它完美无缺.

我的问题是:两种方法之间有什么区别,哪些可能导致一种工作而另一种方法失败?

Ada*_*Dev 37

XmlDocument.Load用于从流,TextReader,路径/ URL或XmlReader加载XML. XmlDocument.LoadXml用于加载字符串中包含的XML.

它们是根本不同的加载XML的方式,具体取决于实际存储XML的位置.所以听起来你使用错误的方法来处理XML.


Jon*_*eet 24

您是否尝试使用XmlDocument.LoadXml并传入文件名?它没有这样做 - 它假定您传入的字符串 XML.所以你可以使用:

doc.LoadXml("<root><child /><root>");
Run Code Online (Sandbox Code Playgroud)

要么

doc.Load("myfile.xml");
Run Code Online (Sandbox Code Playgroud)

如果这没有帮助,你能展示你失败的工作代码吗?您可以通过不同的方式将其从使用更改LoadXmlLoad......