C# 当符号位于CDATA中时,无法分析XML

C# 当符号位于CDATA中时,无法分析XML,c#,xml,wcf,cdata,C#,Xml,Wcf,Cdata,我通过消息队列接收xml负载。xml负载正在被序列化,包括CDATA标记,这似乎导致我们的解析器崩溃。CDATA标记是否可以像其他xml元素一样序列化,并且仍然可以得到适当的处理 我们的数据如下所示,当我们尝试反序列化它时,数据被破坏: <![CDATA[ message json with & ]]> 我们得到的编辑错误: 如果您有任何建议或提示,我们将不胜感激。您能控制数据的来源吗?无论是谁生成这个XML,都需要被告知对其输出进行编码。这只是HTML编码

我通过消息队列接收xml负载。xml负载正在被序列化,包括CDATA标记,这似乎导致我们的解析器崩溃。CDATA标记是否可以像其他xml元素一样序列化,并且仍然可以得到适当的处理

我们的数据如下所示,当我们尝试反序列化它时,数据被破坏:

<![CDATA[ message json with & ]]>
我们得到的编辑错误:


如果您有任何建议或提示,我们将不胜感激。

您能控制数据的来源吗?无论是谁生成这个XML,都需要被告知对其输出进行编码。这只是HTML编码。在尝试解析之前,您不能对其进行解码吗?那么您希望将修复放在哪里?如果您的问题是CDATA部分中是否允许使用未替换的符号和有效的XML,那么答案是肯定的。@scarpacci-yes![CDATA[不是CDATA节的开头,因此必须将其解析为纯文本内容,因此在&上失败。
The formatter threw an exception while trying to deserialize the message: Error in deserializing body of request message for operation 'ProcessMqMessage'. Character reference not valid. Line 1, position 113951.