代码之家  ›  专栏  ›  技术社区  ›  char m

在XML文本字段中,当XML使用C反序列化时,为什么在某些情况下不接受百分号?#

  •  0
  • char m  · 技术社区  · 15 年前
    <name>Hello '"world", ü ë &amp%;</name>
    <label>''MHU233%;'</label>
    

    在上面的第一个案例中,XmlSerializer.Deserialize(XmlReader)引发InvalidOperationException。想知道什么是错的,为什么后者是好的。在架构集中有XML架构的构造函数中,使用XML设置创建XmlReader。

    谢谢!

    1 回复  |  直到 15 年前
        1
  •  5
  •   Jon Skeet    15 年前

    您的实体无效:

    &amp%;
    

    应该是:

    &amp;
    

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