【问题标题】:How to deserialize the following xml in silverlight in c#如何在c#的silverlight中反序列化以下xml
【发布时间】:2012-03-11 08:07:45
【问题描述】:
<SampleType xmlns="xxx:yyy:zzz">
    <Timestamp xmlns="aaa:bbb:ccc">2012-03-07T04:47:07Z</Timestamp>
    <Ack xmlns="aaa:bbb:ccc">Success</Ack>
    <CorrelationID xmlns="aaa:bbb:ccc">ef1ee378dd51</CorrelationID>
    <EncryptionDetails xsi:type="ns:MEPEncryptionDetailsType">
        <Type xsi:type="xs:string">SHA1</Type>
        <Key xsi:type="xs:string"></Key>
    </EncryptionDetails>
</SampleType>

当我尝试反序列化此 XML 时,我收到以下错误“'xsi' is an undeclared namespace。” 我该如何解决这个问题?

【问题讨论】:

  • 尝试在某处找到字符串xmlns:xsi。也许它是在完整的 xml 文档的开头定义的。

标签: c# silverlight xml-deserialization


【解决方案1】:

您需要确保您的 XML 文件包含 xsi 命名空间别名的定义。将以下属性添加到 XML 中的根元素:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

【讨论】:

  • 我无法控制响应。我通过使用 XMLReaderSetting 类想到了这一点。谢谢。
  • @sunxin8086:那么您需要与确实“控制响应”的人交谈,并告诉他们他们发送的 XML 是不可接受的。它们不应包含未定义的 xml:ns 别名。您唯一的其他选择是在加载之前调整 xml 字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-13
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
  • 1970-01-01
相关资源
最近更新 更多