当我尝试反序列化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位。”}
答案 0 :(得分:2)
您的XML无效。该URL违反了XML标准。具体来说,您应该逃避&
:&
。
这是有效的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&client=safari&safe=active</url>
</report>
</reports>
</response>
检查您的XML导出功能,确保它正确地转义URL。