C# 加载没有无效字符错误的xml

C# 加载没有无效字符错误的xml,c#,C#,目前,我正在加载xml,但遇到错误: System.Xml.XmlException:“”, 十六进制值0x17无效 性格第2762行,位置16 它很容易修理。只需打开xml并删除字符 但我需要知道,即使使用无效字符也可以加载xml并将其用于解析。 还有什么坏处吗 xml示例: <?xml version="1.0" encoding="UTF-8"?> <all> <sub> <summary>this is summary and it

目前,我正在加载xml,但遇到错误:

System.Xml.XmlException:“”, 十六进制值0x17无效 性格第2762行,位置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>

这是摘要,它可能有一些无效字符
这个没问题

包含无效字符的Xml不是Xml。这可能是一个孤立的小故障,也可能是整个文件中存在严重数据损坏的前兆—有些显示为无效字符(违反标准读取器),有些则在您未注意到的情况下悄悄损坏数据


我会将整个事情视为可疑(即拒绝它),并在源代码处对其进行修复。

不确定它在c#中的具体工作原理,但如果您可以了解如何让它从“字符串”而不是文件解析xml,您可以先将文件加载到“字符串”过滤器中,然后自己将其发送进行xml解析

编辑:


也许“字符串”是一个糟糕的选择,因为损坏的数据中可能有空字符,如ect、字节数组或其他一些通用内存流结构?

您能给我们看一下有问题的XML吗?是的,这是可能的,我现在正在使用它。LoadXml(字符串xml);