XDocument
(System.Xml.Linq.XDocument
)中,然后进行一些XML操作,为数据生成xlsx文件以供报告使用。
偶尔,我会收到包含无效XML字符的数据,当我尝试将该字符串解析为XDocument
时,我会遇到以下错误:
[System.Xml.XmlException] Message: '?', hexadecimal value 0x1C, is an invalid character.
由于我无法控制远程应用程序,您可能期望任何类型的字符。
我非常清楚XML有一种方法可以在其中放置字符,例如
之类的东西。
如果可能的话,我想要保留所有数据。如果不行,那就算了。
我考虑过编程编辑响应字符串,然后再次尝试重新解析,如果抛出异常,则进行修改,但我已经尝试过几种方法,似乎都没有成功。
感谢您的帮助。
代码大致如下:
TextReader tr;
XDocument doc;
string response; //XML string received from server.
...
tr = new StringReader (response);
try
{
doc = XDocument.Load(tr);
}
catch (XmlException e)
{
//handle here?
}