0

我有一个 XSD 文件。我需要在运行时为 XSD 中的复杂类型创建 XML 文件。

我能够在 XSD 文件中找到复杂类型。但我无法将其解析为 XML 文件。

实际上有几个基于这个 XSD 文件创建的 XML 文件。如果删除了任何 xml 文件,我需要在运行时从 XSD 恢复它。

请帮助我是 XSD 的新蜜蜂。

提前致谢

4

1 回答 1

1

XSD 文件描述了 XML 文件的结构,但不描述其内容 - 通常有许多不同的 XML 文件,具有不同的内容,对应于同一个 XSD。例如对于

  <xs:element name="test">
    <xs:complexType>
      <xs:attribute name="a" type="xs:string" use="optional"/>
      <xs:attribute name="b" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>

有效的 XML 可以是

<test a="something" b="something else"/>

但是也

<test a="" b="2012"/>

乃至

<test/>

您将如何决定要生成哪个特定的 XML?或者您只需要与 XSD 匹配的任何 XML,只需要虚拟内容?

.NET Framework 包含一个完整的 XSD 对象模型 - 在命名空间System.Xml.Schema中,您可以使用这些类来加载 XSD 并相对容易地获取您需要的信息 - 您最终会得到一个XmlSchemaComplexType包含所有可能属性列表的实例和子元素及其类型,您可以使用它来生成 XML。

于 2012-04-17T11:58:04.700 回答