XMLDocument.Load(),十六进制值0x17,是无效字符

Jai*_*dra 1 c# xmldocument

使用xmlDocument.Load()方法加载xml文件时出现以下错误:

在此输入图像描述

我收到此错误,因为我的XML中有一些无效字符"ETB".我怎样才能解决这个问题?该字符是二进制编码图像数据的一部分.

编辑:

<prompt>
   <![CDATA[<FlowDocument xmlns="http://schemas.microsoft.com/something"><Paragraph xmlns="http://schemas.microsoft.com/something"><InlineUIContainer BaselineAlignment="Center">
        <Image Stretch="None" Width="1024" Height="282"><Image.Source><BitmapImage><base64Binary>(Base 64 encoded data containing 'ETB' Text)
   </base64Binary></BitmapImage></Image.Source></Image></InlineUIContainer></Paragraph></FlowDocument>]]>
</prompt>
Run Code Online (Sandbox Code Playgroud)

Base 64 Binary数据是这样的:

iVBORw0KGgoAAAANSUhEUgAABAAAAAEaCAIAAAAACrKOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAOvwAADr8BOAVTJAAAaz9JREFUeF7tnQVgE03Tx8ODu7u7u7v7i7trcS0Ul + Luxd2Ke7FSrEix4oWixZ3iFErlnd1NLqlQ0sbukv + 938eTnOzO/HavmdmdnY0WHByswgECIAACIAACIAACIAACIGAjBMgBwAECIAACIAACIAACIAACIGAjBFQ2oifUBAEQAAEQAAEQAAEQAAEQYOE/oAACIAACIAACIAACIAACIGA7BOAA2E​​5bQ1MQAAEQAAEQAAEQAAEQwAwA + gAIgAAIgAAIgAAIgAAI2BIBzADYUmtDVxAAARAAARAAARAAAZsnAAfA5rsAAIAACIAACIAACIAACNgSAeU5AEFRaZ4oPfSPikKVaYoqoqIqnpEBAXQGyzZCYJjqw56xrIS ...

这些数据之间有"ETB"

Jon*_*eet 6

该字符是二进制编码图像数据的一部分.

那么它不应该在XML文档中.XML文档是文本 - 通常如果要包含任意二进制数据,则需要对其进行64位编码.

这实际上不是C#问题或.NET问题 - 只是您的XML文档无效.