使用新行和转义字符C#反序列化xml

时间:2014-05-12 13:39:12

标签: c# xml xml-parsing deserialization xml-deserialization

我正在调用一个以xml格式返回响应的服务。响应不遵循xml指南并包含一些新行和" \"。

由于格式问题,反序列化失败。

XML格式:

\r\n\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<N><details><date>25042014</date><orderNumber>OrderNumber         </orderNumber><Response>1</Response></details>

我通过删除新行和&#34; \&#34;解决了这个问题。在反序列化之前,但是如果存在则正在寻找更清洁的解决方案。

1 个答案:

答案 0 :(得分:1)

XML文件必须定义良好,因此必须与XSD结构相对应。转义序列和新行将破坏有效的xml,因此不会对应于XSD结构,这反过来会导致反序列化失败。据我所知,除了预先读取文件,删除不需要的字符和序列,然后再次保存,以便在XmlDocument读取时可以成功反序列化,除此之外没有办法解决它。 / p>