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

时间:2023-03-30
本文介绍了为什么 XSD.EXE 会创建两个 .XSD 文件,以及如何使用它们?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在使用以下命令从我的输入 XML 文件生成相关的 xsd 文件——response.xml,我的困惑是(1)为什么有两个 xsd 文件输出(response.xsd 和 response_app1.xsd),我想应该只生成其中一个?(2) 如果我需要使用 xsd/classes 生成 C# 类文件,我应该使用哪个 xsd 文件?

I am using the following command to generate related xsd file from my input XML file -- response.xml, my confusion is (1) why there are two xsd file output (response.xsd and response_app1.xsd), I think there should be only one of them generated? (2) If I need to generate C# class file by using xsd /classes, which xsd file should I use?

我的环境:VSTS 2008 + C# + .Net 3.5.

My environment: VSTS 2008 + C# + .Net 3.5.

D:>xsd response.xml
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.3038]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:
esponse.xsd'.

这是我的输入 XML 文件和输出 XSD 文件,

Here is my input XML file and ouput XSD files,

http://www.mediafire.com/file/kzzoxw0zwgq/inputoutput.zip

编辑 1:

当我执行xsd response.xsd生成相关C#类时,出现错误信息,这里是详细输出,

when I execute xsd response.xsd to generate related C# class, there are error messages, and here are the detailed output,

D:>xsd response.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.mycorp.com/Order/2009/05/mex:Items' e
lement is not declared. Line 10, position 16.

Warning: Schema could not be validated. Class generation may fail or may produce
 incorrect results.

Error: Error generating classes for schema 'response'.
  - The element 'http://www.mycorp.com/Order/2009/05/mex:Items' is missing.

If you would like more help, please type "xsd /?".

提前致谢,乔治

推荐答案

乔治,

要从这些文件中生成类,您必须在命令行中列出两者:

To generate classes from these files, you must list both on the command line:

D:>xsd response.xsd response_app1.xsd /classes 

<小时>

已经正确地说这两个 .xsd 文件是因为您的原始 XML 文件中有两个 XML 命名空间.顺便说一句,我在这里猜测了一下,因为您没有发布 XML 文件.


It has already been correctly said that the two .xsd files are because there were two XML namespaces in your original XML file. BTW, I'm guessing a little here because you did not post the XML file.

这篇关于为什么 XSD.EXE 会创建两个 .XSD 文件,以及如何使用它们?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:从 XML 文件推断的 XmlSchema - 如何遍历 XSD 中的所有元素? 下一篇:dataSet.GetXml() 不为 null 或空白列返回 xml

相关文章