-

 - e-mail

 

 -

   Flashr

 -

 LiveInternet.ru:
: 26.02.2007
:
:
: 6574

:


Serialization.XmlChoiceIdentifierAttribute

, 22 2010 . 14:30 +
, SOAP , . , , , , . WCF, :
Copy Source | Copy HTML
  1. [System.SerializableAttribute()]
  2.     [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://blabla")]
  3.     public partial class ClassName
  4.     {
  5.         private string itemField;
  6.         private ItemChoiceType itemElementNameField;
  7.  
  8.         /// <remarks/>
  9.         [System.Xml.Serialization.XmlElementAttribute("Choose1", typeof(string), Order =  0)]
  10.         [System.Xml.Serialization.XmlElementAttribute("Choose2", typeof(string), Order =  0)]
  11.         [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
  12.         public string Item
  13.         {
  14.             get
  15.             {
  16.                 return this.itemField;
  17.             }
  18.             set
  19.             {
  20.                 this.itemField = value;
  21.             }
  22.         }
  23.  
  24.         /// <remarks/>
  25.         [System.Xml.Serialization.XmlElementAttribute(Order = 1)]
  26.         [System.Xml.Serialization.XmlIgnoreAttribute()]
  27.         public ItemChoiceType ItemElementName
  28.         {
  29.             get
  30.             {
  31.                 return this.itemElementNameField;
  32.             }
  33.             set
  34.             {
  35.                 this.itemElementNameField = value;
  36.             }
  37.         }
  38.     }
  39.  
  40.     [System.SerializableAttribute()]
  41.     [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://blabla", IncludeInSchema = false)]
  42.     public enum ItemChoiceType
  43.     {
  44.         Choose1,
  45.         Choose2,
  46.     }

xsd, XmlIgnore :
Copy Source | Copy HTML
  1. <xs:complexType name="ClassName">
  2. <xs:sequence>
  3. <xs:element name="itemElementNameField" type="tns:ItemChoiceType"/>
  4. <xs:element name="itemField" nillable="true" type="xs:string"/>
  5. </xs:sequence>
  6. </xs:complexType>
  7. <xs:element name="ClassName" nillable="true" type="tns:ClassName"/>
  8. <xs:simpleType name="ItemChoiceType">
  9. <xs:restriction base="xs:string">
  10. <xs:enumeration value="Choose1"/>
  11. <xs:enumeration value="Choose2"/>
  12. </xs:restriction>
  13. </xs:simpleType>

XmlSerializerFormatAttribute, WCF . SOAP.
:  

: [1] []
 

:
: 

: ( )

:

  URL