当值与默认值相同时包含xml属性

时间:2012-08-08 03:29:19

标签: .net xml xsd xmlserializer

我有一个xsd,我们使用.net中的XMLSerializer类来创建一个xml文档。我们有以下类型的默认值

  <xs:complexType name="telephoneType">
<xs:simpleContent>
  <xs:extension base="xs:string">
    <xs:attribute name="type" default="BH">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="BH"/>
          <xs:enumeration value="AH"/>
          <xs:enumeration value="mobile"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:extension>
</xs:simpleContent>

似乎当我们将值设置为BH时,默认情况下它不包含文档中的属性。有没有办法永远包括这些?

1 个答案:

答案 0 :(得分:0)

当属性等于其默认值时,序列化程序不会创建元素/属性。除非您创建自定义方法来序列化对象,否则几乎没有什么可做的。