从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路径。
所以,你必须这样做:
- 下载xmldsig-core-schema.xsd架构。
-
运行这个:
“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