[英]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("<root><child /><root>");
要么
doc.Load("myfile.xml");
如果這沒有幫助,你能展示你失敗的工作代碼嗎? 您可以通過不同的方式將LoadXml
更改為Load
...
Load()從某個源加載,而LoadXml()直接從字符串加載
應用程序崩潰時出現以下錯誤:“根級別的數據無效。第1行,第1位”我懷疑您的xml數據沒有根級別:例如:
<area id="1">
<candidate id="0">dataata</candidate>
</area>
<area id="2">
<candidate id="0">dataataa</candidate>
</area>
您需要在底層之上至少有一個根級別。 例如:
<areas>
<area id="1">
<candidate id="0">dataata</candidate>
</area>
<area id="2">
<candidate id="0">dataataa</candidate>
</area>
</areas>
所以請把一位母親放在你的水平之上,讓它成為所有孩子的盛大母親
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.