本文介绍了XmlSerializer将xsi:type替换为节点名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当前XmlSerializer产生以下结构:

Currently XmlSerializer produces the following structure:

<config>
  <BaseType xsi:type="DerivedType1" />
  <BaseType xsi:type="DerivedType2" />
</config>

有什么方法可以将类型名称放入节点:

Is there any way to make it put type name into node:

<config>
  <DerivedType1 />
  <DerivedType2 />
</config>

?

推荐答案

好吧,您可以使用XmlElement Attrribute例如覆盖元素名称.

Well you can just override the element name with the XmlElement Attrribute e.g.

[XmlElement("DerivedType1")]
public BaseType : DerivedType1 {get;set;}

if仍然会将xsi:type放进去,并产生更大的混乱...

if will still put the xsi:type in though, and generate even greater confusion...

您的班级长什么样?

这篇关于XmlSerializer将xsi:type替换为节点名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 21:23