为什么在xml使用C#反序列化时,在xml-text字段中的某些情况下不接受百分号

cha*_*r m 0 .net c# xml serialization

<name>Hello '"world", ü ë &amp%;</name>
<label>''MHU233%;'</label>
Run Code Online (Sandbox Code Playgroud)

XmlSerializer.Deserialize(XmlReader)在上面的第一种情况下抛出InvalidOperationException.想知道什么是错的,为什么后者是好的.XmlReader是在构造函数中使用XmlSettings创建的,其中Xml-schema位于SchemaSet中.

谢谢!

Jon*_*eet 5

你那里有一个无效的实体:

&amp%;
Run Code Online (Sandbox Code Playgroud)

它应该是:

&amp;
Run Code Online (Sandbox Code Playgroud)

&表示它是一个实体的开始.没有名为amp%的实体,这就是你遇到问题的原因 - 实际上,实体名称中甚至不允许百分号.基本上您的输入XML文件无效.