【发布时间】:2011-03-16 20:47:23
【问题描述】:
我有一个 .NET MVC 应用程序,它通过使用 DataContractSerializer 和 XMLDictionaryWriter 序列化视图模型来返回 XML。响应是下面的 XML。
在此示例中,请注意同一“Note”对象有 2 个副本。注释第一次出现时,它是完美的。第二次,所有字符串都有一个“i:nil”属性和对出现相同字符串的前一个节点的引用。
问题:
- 我认为这是某种压缩。这发生在哪里?在 IIS 中?
- 如何在 .NET 中解压缩?
感谢您的帮助!
汤姆
<Note z:Id="2">
<DateCreated>2011-03-16T11:22:30.2226663-07:00</DateCreated>
<DateModified>2011-03-16T11:22:30.2226663-07:00</DateModified>
<Deleted>false</Deleted>
<PinnedToList>true</PinnedToList>
<PinnedToTile>false</PinnedToTile>
<Revision>1</Revision>
<TagText z:Id="3">#todo #work</TagText>
−
<Tags z:Id="4" z:Size="2">
−
<Tag z:Id="5">
<TagName z:Id="6">todo</TagName>
<UserId>3</UserId>
</Tag>
−
<Tag z:Id="7">
<TagName z:Id="8">work</TagName>
<UserId>3</UserId>
</Tag>
</Tags>
<Text z:Id="9">This is a sample note.</Text>
<User i:nil="true"/>
<UserId>0</UserId>
</Note>
−
<Note z:Id="10">
<DateCreated>2011-03-16T11:22:30.2226663-07:00</DateCreated>
<DateModified>2011-03-16T11:22:30.2226663-07:00</DateModified>
<Deleted>false</Deleted>
<PinnedToList>true</PinnedToList>
<PinnedToTile>false</PinnedToTile>
<Revision>1</Revision>
<TagText z:Ref="3" i:nil="true"/>
−
<Tags z:Id="11" z:Size="2">
−
<Tag z:Id="12">
<TagName z:Ref="6" i:nil="true"/>
<UserId>3</UserId>
</Tag>
−
<Tag z:Id="13">
<TagName z:Ref="8" i:nil="true"/>
<UserId>3</UserId>
</Tag>
</Tags>
<Text z:Ref="9" i:nil="true"/>
<User i:nil="true"/>
<UserId>0</UserId>
</Note>
【问题讨论】:
-
你试过反序列化它吗?实际的错误是什么?
标签: .net xml asp.net-mvc-3 xml-serialization compression