从XSD生成C#类

这是xml shema,我希望使用xsd工具为C#生成类:

                 Header of the document.     Id of the target application.          Id of the trader.           Id of the trader application.           Mime type of the document. Currently: text/xml application/pdf                Opcionalni opis dokumenta. Maksimalna duljina je 255 znakova.                                    

当我尝试使用时生成类

 C:\test>xsd G2BDokument.xsd /Classes 

我收到这条消息:

 Microsoft (R) Xml Schemas/DataTypes support utility [Microsoft (R) .NET Framework, Version 2.0.50727.3038] Copyright (C) Microsoft Corporation. All rights reserved. Schema validation warning: The 'http://www.w3.org/2000/09/xmldsig#:Signature' element is not declared. Line 20, position 11. Warning: Schema could not be validated. Class generation may fail or may produce incorrect results. Error: Error generating classes for schema 'G2BDokument'. - The element 'http://www.w3.org/2000/09/xmldsig#:Signature' is missing. If you would like more help, please type "xsd /?". 

我无法弄清楚我做错了什么,所以有人可以帮助我吗? 谢谢!

如果你有这个文件“ xmldsig-core-schema.xsd ”,试试这个:

C:\ test> xsd G2BDokument.xsd xmldsig-core-schema.xsd / Classes

BR

我做了类似的事情,所以:你必须传递2个参数。 您的文件和http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd参考。 由于XSD.exe只接受1个输入参数,因此必须传递.Xsd路径。

所以,你必须这样做:

  1. 下载xmldsig-core-schema.xsd架构。
  2. 运行这个:

    “C:\ Program Files \ Microsoft SDKs \ Windows \ vXXXX \ bin \ xsd.exe”[path_your_folder] \ your_file.xsd [path_to_your_folder] \ xmldsig-core-schema.xsd / c / n:mi_new_class_file_name / l:VB

新文件“mi_new_class_file_name.vb”现在可能已进入“C:\ Program Files \ Microsoft SDKs \ Windows \ vXXXX \ bin”文件夹。

我几天前就有一个类似的问题了。 就我而言,是谁将要构建出现问题的XML文件。 过了一段时间,我决定简化一点方法。 这可能不是最好的做法,但最终,它有效:

我有2个XSD:一个是对签名的参考,另一个没有它。 由于是客户端将签署XML文件,我给了XSD而没有参考他。 他创建了类,然后是XML,然后对其进行签名并将其发送给我。 然后我使用另一个XSD(带有参考的那个)来检查一致性。

事情似乎有效。 正如我所说,这不是最漂亮的,但它可以帮助他做好工作。

谢谢它的工作正常。

你能解释一下nologo和class之间的区别吗?

ex C:\ test> xsd G2BDokument.xsd xmldsig-core-schema.xsd / Classes

 C:\test>xsd G2BDokument.xsd xmldsig-core-schema.xsd /nologo