当前位置: 首页 > 编程语言 > C#

为什么XSD.EXE会创建两个.XSD文件,以及如何使用它们?分享

时间:2023-04-10 21:53:17 C#

为什么XSD.EXE会创建两个.XSD文件,以及如何使用它们?我使用以下命令从我的输入XML文件-response.xml生成相关的xsd文件,我的困惑是(1)为什么有两个xsd文件输出(response.xsd和response_app1.xsd),我认为应该只有生成了其中之一?(2)如果我需要使用xsd/classes生成C#类文件,应该使用哪个xsd文件?我的环境:VSTS2008+C#+.Net3.5。D:>xsdresponse.xmlMicrosoft(R)XmlSchemas/DataTypes支持实用程序[Microsoft(R).NETFramework,版本2.0.50727.3038]版权所有(C)MicrosoftCorporation。版权所有。写入文件“D:response.xsd”。这是我的输入XML文件和输出XSD文件,http://www.mediafire.com/file/kzzoxw0zwgq/inputoutput.zip编辑1:当我执行xsdresponse.xsd生成相关的C#类时,出现错误消息,这里是详细输出,D:>xsdresponse.xsd/classesMicrosoft(R)XmlSchemas/DataTypes支持实用程序[Microsoft(R).NETFramework,版本2.0.50727.3038]版权所有(C)MicrosoftCorporation。版权所有。架构验证警告:未声明“http://www.mycorp.com/Order/2009/05/mex:Items”e元素。第10行,位置16。警告:无法验证架构。类生成可能会失败或可能会产生不正确的结果。错误:为架构“响应”生成类时出错。-元素“http://www.mycorp.com/Order/2009/05/mex:Items”缺失。如果您需要更多帮助,请输入“xsd/?”。George,提前致谢George,要从这些文件生成类,必须在命令行中列出这两个类:D:>xsdresponse.xsdresponse_app1.xsd/classes已经正确地说这两个.xsd文件是由于rawXML文件中有两个XML名称空间顺便说一句,我在这里猜测了一点,因为您没有发布XML文件。生成两个文件的原因是因为您的XML包含两个XML名称空间;一个用于生成的XSD中的每个名称空间。soap信封命名空间的命名空间导入mycorp命名空间(可以从xs:import元素中看出)。IIRC,你同时使用,一个可以引用另一个。是的,去掉XML文件的命名空间并生成它,你会得到一个单一的XSD文件以上是C#学习教程:XSD.EXE为什么会创建两个.XSD文件,以及如何使用它们?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: