XDocument解析忽略中文字符
本文关键字:中文 字符 XDocument | 更新日期: 2023-09-27 18:11:37
我有一个XML字符串,其中包含一些中文字符,如�菅Ჽ탽
。因此,当使用XDocument.Parse
解析它时,它会抛出以下异常:
System.Xml.XmlException: '', hexadecimal value 0x01, is an invalid character
我尝试将xml字符串转换为UTF-8
。但还是同样的问题。
任何想法?
更新:
XML中包含许多元素,但是在使用下面的答案时,它忽略了所有其他元素,而只是转换具有特殊字符的元素,是否可以用XDocument
代替XElement
?
使用XmlReader和XmlReaderSettings。CheckCharacters设置为false将解决您的问题。
这是我用来加载我的日文xml文件的。
string xmlText = "your xml data";
XElement node;
XmlReaderSettings xrs = new XmlReaderSettings();
xrs.CheckCharacters = false;
using (XmlReader rd = XmlReader.Create(new StringReader(xmlText), xrs))
{
node = XElement.Load(rd);
}