【问题标题】:Using XSD.exe to generate c# classes from multiple XSD schemas使用 XSD.exe 从多个 XSD 模式生成 c# 类
【发布时间】:2011-06-23 11:53:13
【问题描述】:

我有 2 个 XSD 文件。

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

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

<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# 类中。任何帮助。对不起,我是新手。 谢谢你的回答有效

【问题讨论】:

    标签: c# .net xml xsd


    【解决方案1】:

    引用主 XSD 对我不起作用。

    我必须按照此链接引用相关的 XSD 文件

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • @Shax 限制不影响类,只是验证,看这里如何验证:stackoverflow.com/questions/6451519/…
      • 很抱歉我迷路了。我的想法是通过执行 XSD.exe 它将生成 c# 类并将所有限制等作为 c# 代码的一部分。?
      • 当您有多个起始 xsd 文件相互引用时,这是怎么回事?是否可以只生成一个类,尽管其他类需要它?
      猜你喜欢
      • 2011-05-18
      • 1970-01-01
      • 2011-09-16
      • 2021-05-20
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多