为什么 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 文件,以及如何使用它们?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)