0

私はしばらくの間、このリンクで Microsoft が提供する XML スキーマに関するチュートリアルやリソースを見つけることができませんでした。次のようになります。

<Schema xmlns="urn:schemas-microsoft-com:xml-data" 
  xmlns:dt="urn:schemas-microsoft-com:datatypes">
  <AttributeType name='studentID' dt:type='string' required='yes'/>
  <ElementType name='name' content='textOnly'/>
  <ElementType name='GPA' content='textOnly' dt:type='float'/>
  <ElementType name='student' content='mixed'>
    <attribute type='studentID'/>
    <element type='name'/>
    <element type='GPA'/>
  </ElementType>
  <ElementType name='class' content='eltOnly'>
    <element type='student'/>
  </ElementType>
</Schema>  

これが W3C 推奨の XSD 形式ではないことはわかっています...標準形式の XSD を読み取って作成する方法を知るのに苦労しています。また、そこから C# クラスを生成したいと考えています。

どんな助けでも大歓迎です。XML スキーマに対する私の理解を本当に混乱させました。

4

1 に答える 1

2

それが XDR スキーマです。.NET フレームワークまたは Visual Studio SDK がインストールされている Windows でそのファイルを W3C XML スキーマに変換する場合は、xsd.exeコマンド ライン ツールを使用できます。つまり、対応するファイルxsd.exe schema.xdrが作成されます。schema.xsd次に、 に適用xsd.exeして、schema.xsdで使用する C# または VB.NET でクラス ファイルを作成できますSystem.Xml.Serialization.XmlSerializer

サンプルでVS 2012 を実行するxsd.exeと、次の W3C XSD スキーマが作成されます。

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="class">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="student" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="name" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
                    <xs:element name="GPA" type="xs:double" minOccurs="0" msdata:Ordinal="2" />
                  </xs:sequence>
                  <xs:attribute name="studentID" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>
于 2012-11-30T12:24:32.313 に答える