2012-04-17 54 views
0

我有一个XSD文件。我需要在运行时为XSD内的复杂类型创建XML文件。解析xsd中的复杂类型元素并创建xml文件

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

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

请帮助我是XSD的新蜜蜂。

在此先感谢

回答

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。

+0

Mimo ..感谢您的帮助......但我只是尝试了一种替代方法,其中我使用ICodeCompiler编译了XSD文件。然后序列化该类..不管怎么说,谢谢你的帮助.. – Sunil 2012-04-17 12:49:34

+0

不客气的苏尼尔。好主意! – MiMo 2012-04-17 13:46:01