XML文档中存在错误

时间:2016-02-03 11:33:27

标签: c# xmlserializer xml-deserialization

当我尝试反序列化xml文档时,我收到以下异常。 Xml文档的标记为url,谷歌搜索链接可能会出现在该标记中。 Google搜索链接包含'=',在反序列化时不会在xml文档中接受。我从服务器获取xml。因此我无法对url标记中的字符串做任何事情。我必须在我的客户端做一些事情。我怎样才能克服这个问题?

<?xml version="1.0" encoding="UTF-8"?>
<response>
 <status>
  <code>000</code>
  <message>Successfully completed</message>
 </status>
 <reports>
   <report>
      <id>9973</id>
      <url>http://www.google.com/search?q=guns&client=safari&safe=active</url>
   </report>
 </reports>
</response>

例外:

  

System.Xml.XmlSerializer.dll中发生了'System.InvalidOperationException'类型的异常,但未在用户代码中处理

Innerexception:

  

{“'='是一个意外的令牌。预期的令牌是';'。第136行,第53位。”}

1 个答案:

答案 0 :(得分:2)

您的XML无效。该URL违反了XML标准。具体来说,您应该逃避&&amp;

这是有效的XML:

<?xml version="1.0" encoding="UTF-8"?>
<response>
 <status>
  <code>000</code>
  <message>Successfully completed</message>
 </status>
 <reports>
   <report>
      <id>9973</id>
      <url>http://www.google.com/search?q=guns&amp;client=safari&amp;safe=active</url>
   </report>
 </reports>
</response>

检查您的XML导出功能,确保它正确地转义URL。