【问题标题】:Difference B/W MS XML Schema vs XSD Schema黑白 MS XML 架构与 XSD 架构的区别
【发布时间】:2014-11-05 17:56:33
【问题描述】:

我一直在减少一段时间,但在this 链接中找不到任何有关 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 模式的理解。

【问题讨论】:

    标签: c# xml xsd xdr


    【解决方案1】:

    这是一个 XDR 架构。如果您想在安装了 .NET 框架或 Visual Studio SDK 的 Windows 上将该文件转换为 W3C XML 模式,您可以使用xsd.exe 命令行工具,即xsd.exe schema.xdr 将创建一个相应的schema.xsd 文件。然后您可以在schema.xsd 上应用xsd.exe 以在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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多