代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

xsd.exe是否标识数字字段?

  •  1
  • Jader Dias  · 技术社区  · 14 年前

    当我使用 xsd.exe 为了用最少的元数据为给定的XML生成C类,它是否识别数字属性(和innerTexts)并将它们映射到数字类型的属性(即:int、double)?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Marc Gravell    14 年前

    快速测试:

    <test>
        <i>123</i>
        <f>12.3</f>
        <s>abc</s>
    </test>
    

    xsd test.xml
    xsd test.xsd /c
    

    给予:

      <xs:element name="test">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="i" type="xs:string" minOccurs="0" />
            <xs:element name="f" type="xs:string" minOccurs="0" />
            <xs:element name="s" type="xs:string" minOccurs="0" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    

    以及:

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string i {
        get {
            return this.iField;
        }
        set {
            this.iField = value;
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string f {
        get {
            return this.fField;
        }
        set {
            this.fField = value;
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string s {
        get {
            return this.sField;
        }
        set {
            this.sField = value;
        }
    }