2010-03-12 42 views
2

目前IM加载XML和我收到的错误:加载XML没有无效字符错误

System.Xml.XmlException: ' ', hexadecimal value 0x17, is an invalid character. Line 2762, position 16.

很容易修复。只需打开xml并删除该字符。

但我需要知道是否有可能加载XML甚至无效字符,并将其用于解析。 ,有什么不利之处?

XML示例:

<?xml version="1.0" encoding="UTF-8"?> 
<all> 
<sub> 
    <summary>this is summary and it might have some invalid chars</summary> 
</sub> 
<sub> 
    <summary>this one is ok</summary> 
</sub> 
</all> 
+0

你可以**显示**我们有问题的XML? – 2010-03-12 06:19:32

+0

添加xml示例 – markol 2010-03-12 06:59:36

回答

0

不确定它是如何在c#中工作的,但如果你可以如何让它从一个'字符串'解析一个xml而不是一个文件,你可以先将文件加载到'字符串'中,然后自己过滤字符串,然后发送它的XML解析。

编辑:

也许“字符串”是一个糟糕的选择,因为损坏的数据可能在它ECT,一个字节数组或其他一些普通的内存流结构NULL值?

+0

是的,这是可能的,即时使用它现在thx。 LoadXml(string xml); – markol 2010-03-12 08:51:03

4

的Xml在它无效字符不是XML。 可能是是一个孤立的故障,或者它可能是一个预兆,整个文件中存在严重的数据损坏 - 一些表现为无效字符(破坏标准读取器),另一些在您没有注意到的情况下默默损坏您的数据。

我会将整个事情视为可疑(即拒绝它)并将其固定在源代码中。

+0

我不可能在这一点改变源 – markol 2010-03-12 08:55:49