当我不断收到以下错误时,我正在尝试将包含特殊字符的 XML 文件的字符串内容解析到 XDocument 中以进行进一步处理:
名称不能以“.”开头 字符,十六进制值 0x00。第 1 行,第 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());
我在这里想念什么?
提前致谢!
更新:以下代码更新做到了:
XElement body = XElement.Load(fileName);
return new XDocument(new XDeclaration("1.0", "utf-16", "no"), body);
谢谢亨克!