【发布时间】:2012-04-17 05:00:10
【问题描述】:
我有一个 XSD 文件。我需要在运行时为 XSD 中的复杂类型创建 XML 文件。
我能够在 XSD 文件中找到复杂类型。但我无法将其解析为 XML 文件。
实际上有几个 XML 文件是在这个 XSD 文件的基础上创建的。如果任何 xml 文件被删除,我需要在运行时从 XSD 中恢复它。
请帮助我是 XSD 的新成员。
提前致谢
【问题讨论】:
标签: c# xsd xml-parsing
我有一个 XSD 文件。我需要在运行时为 XSD 中的复杂类型创建 XML 文件。
我能够在 XSD 文件中找到复杂类型。但我无法将其解析为 XML 文件。
实际上有几个 XML 文件是在这个 XSD 文件的基础上创建的。如果任何 xml 文件被删除,我需要在运行时从 XSD 中恢复它。
请帮助我是 XSD 的新成员。
提前致谢
【问题讨论】:
标签: c# xsd xml-parsing
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。
【讨论】: