我試圖分析包含在作進一步處理一個XDocument特殊字符時,我不斷收到以下錯誤的XML文件的字符串內容:錯誤解析XML
Name cannot begin with the '.' character, hexadecimal value 0x00. Line 1, position 8.
我沒有控制權這個文件。我所能做的就是從我讀取的網絡共享中解析它。文件內容如下:
<?xml version="1.0" encoding="utf-16"?>
<ns0:SAEErr xmlns:ns0="http://xyz">
<ErrorInformation>olsfdhfaskldhfksajdfkajsf</ErrorInformation>
<OriginalMessage>慐浹湥䥴Ɽ慐浹湥卻慴疇䍳摯ⱥ慐</OriginalMessage>
</ns0:SAEErr>
的代碼來解析上述文件內容如下:
StringBuilder sb = new StringBuilder();
sb.Append("<root>");
sb.Append(FileUtil.ReadFileContent(fileName));
sb.Append("</root>");
return XDocument.Parse(sb.ToString());
缺少什麼我在這裏?
在此先感謝!
UPDATE:下面的代碼更新做到了:
XElement body = XElement.Load(fileName);
return new XDocument(new XDeclaration("1.0", "utf-16", "no"), body);
感謝亨克!
顯示您使用加載XML文檔的代碼。 –
也請告訴我們你是如何確認它確實是UTF-16。 –
是的,請向我們展示XML文件的十六進制轉儲。 –