使用XSD.exe从多个XSD架构生成c#类

时间:2011-06-23 11:53:14

标签: c# .net xml xsd

我有2个XSD文件。

一个XSD文件可以说ABC.xsd包含属于XML的元素。 另一个XSD文件让我们说XYZ.xsd包含这些元素的定义。

现在在ABC.XSD(包含元素)模式标记以及其他名称空间中我们也提到了schemalocation

<xs:schema schemaLocation="XYZ.xsd">

当我执行xsd.exe来生成我的C#类时。它正在生成类,但缺少XYZ.xsd中的一些定义。

我正在执行

xsd.exe "ABC.xsd" "XYZ.xsd" /c

任何帮助都是适用的

编辑1: @Felice,在我的XYZ.xsd中,我有这样的定义

<xs:simpleType name="contactNumberType">
        <xs:annotation>
            <xs:documentation>Contact phone or fax number with national or international format.  Only numbers are allowed</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="\+?\p{N}{6,24}"/>
        </xs:restriction>
    </xs:simpleType>

请参阅此处定义的模式,它不会出现在C#类中。任何帮助。对不起,我是新来的。 谢谢你的回答

2 个答案:

答案 0 :(得分:10)

引用主XSD对我不起作用。

我必须根据此链接引用相关的XSD文件

http://bembengarifin.wordpress.com/2009/07/14/generate-net-class-from-xsd-with-references-to-other-xsd-using-xsd-exe/

答案 1 :(得分:3)

仅将“main”xsd作为参数传递,确保另一个位于main的相同位置,并且它应该可以工作。