Dot-Net-3.5

可以將多個 XSD 文件合二為一的工具?

  • October 4, 2010

我需要為大約 65 個 XSD 文件創建 XML 序列化程序類,為此我使用 Microsoft 的XSD.EXE來生成 C# 程式碼……

但是,我在生成的輸出文件中一直遇到 Window CMD 的字元限制(其中 XSD.EXE 結合了每個 XSD 的名稱):“指定的路徑、文件名或兩者都太長。完全限定的文件名必須少於 260 個字元,並且目錄名稱必須少於 248 個字元。”

長話短說,似乎我可以讓所有這些一起驗證和生成的唯一方法是,如果我可以合併所有 XSD(取消引用包含/導入,XSD.EXE 不能解析 schemaLocation無論如何)成一個大的。

請告訴我有一個工具可以做到這一點……

您可以做的是創建另一個名為 file.xsd 的新文件,其中包含其中的所有模式名稱,然後訣竅是使用 .\ 作為前綴命名最後一個模式文件。

文件.xsd

<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
   <generateClasses language='CS' namespace='MyNamespace'>
       <schema>First.xsd</schema>
       <schema>Second.xsd</schema>
       <!-- more schema files here -->
       <schema>.\Third.xsd</schema>
   </generateClasses>
</xsd>

現在執行命令“xsd.exe /p:file.xsd /classes”,你會得到生成的類文件:)

引用自:https://stackoverflow.com/questions/3859319