privatevoid button1_Click(object sender, EventArgs e)
- {
- try
- {
- XmlDocument doc = new XmlDocument();
- string file = @"D:/Books.xml";
- file = file.Trim();
- doc.LoadXml(file);
- }
- catch (XmlException ex)
- {
- MessageBox.Show(ex.Message + "/r/n" + ex.StackTrace);
- }
- }
前提是經過很檢驗,XML文件是合格並有效的。可一運行就就會出現“根級別上的數據無效”的錯誤,很久沒弄明白,網上搜了一下,發現遇到這問題的還真不少。有的網友說LoadXml之前加上file = file.Trim();就解決了,試了還是不行。於是改用Load()方法,問題解決。再查Msdn,原來兩個方法的用法不同。
LoadXml (): 該方法讀取 XML字符串。 LoadXml("<book><title>C#</title></book>");
Load (): 方法將文檔置入內存中並包含可用於從每個不同的格式中獲取數據的重載方法。Load(文件名)
(可能因為這兩件方法都有一個參數為string的重載吧,於是理所當然的以后這兩個方法混用了)。