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

Why does XSD.EXE Create Two .XSD Files, and How to Use Them?(为什么 XSD.EXE 会创建两个 .XSD 文件,以及如何使用它们?)
本文介绍了为什么 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 文件,以及如何使用它们?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Custom Error Queue Name when using EasyNetQ for RabbitMQ?(使用 EasyNetQ for RabbitMQ 时自定义错误队列名称?)
How to generate password_hash for RabbitMQ Management HTTP API(如何为 RabbitMQ 管理 HTTP API 生成密码哈希)
Rabbitmq Ack or Nack, leaving messages on the queue(Rabbitmq Ack 或 Nack,将消息留在队列中)
Wait for a single RabbitMQ message with a timeout(等待一条带有超时的 RabbitMQ 消息)
Setup RabbitMQ consumer in ASP.NET Core application(在 ASP.NET Core 应用程序中设置 RabbitMQ 消费者)
Specify Publish timeouts in mass transit(指定公共交通中的发布超时)