【发布时间】:2011-12-05 13:19:32
【问题描述】:
我有一个如下所示的测试 xml 文件:
<Person>
<ContactInfo>
...
<ContactInfo>
</Person>
当我尝试反序列化时,一切正常。 但问题是有时这个 xml 文件的结构不同——有时会添加 xml 命名空间。
<Person xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<ContactInfo>
...
<ContactInfo>
</Person>
现在,当我进行序列化时,我得到 IOnvalidOperationException:“XML 文档 (1, 2) 中存在错误”。内部异常消息说 <Person xmlns='http://tempuri.org/PaymentInformationXml.xsd'> 不是预期的。
那么有人可以帮我解决这个问题吗?
【问题讨论】:
-
你用什么反序列化?
-
您的示例XML和错误信息不一致; xsi/xsd 只是命名空间别名——它们不会改变任何东西。你几乎可以忽略这两个。但是,
xmlns='...blah...'非常很重要。请澄清:这是否在您的 XML 中?如果是,必须提前告诉XmlSerializer
标签: .net xml serialization deserialization xml-namespaces