问题标签 [xsd.exe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 创建 XSD 架构
我有一个 xml 标签:
fieldi 有一个字符串值,fieldi 属性的数量是可变的,但不小于 1。是否可以为这个标签创建一个 xsd 模式?
可能的 xml 文档
在我从 Web 服务器收到的这个 xml 文档中,可以是可变数量的属性字段(我将它们记为 fieldi,其中我表示特定属性字段的顺序)所以我有,未知数量的 ROW 元素和未知ROW 元素中的字段属性数
谢谢
wcf - 大型/复杂模式 (HR-XML/OAGIS) 的 WCF 代码生成 - 有替代方案吗?
并感谢您的阅读。
我正在实现基于预定义规范 (HR-XML 3.0) 的 WCF 服务。因此,我从模式开始,然后回到代码中。本规范提供了许多与我的实现相关的大型 Schema 文档(导入更多的 Schema 文档)。
通过提供“主”和“支持”xsd 文件作为参数,我能够使用 xsd.exe 生成代码。但是有几个问题,我想知道这是否是正确的方法。
- 几乎有数百个类 - 代码文件大小为半兆
- 重复的类(例如 Type、Type1 - 它们都代表相同的类型)
- 有声明为从基类继承的类,但未生成/定义该基类
我了解在针对 DataContractSerializer 甚至 XmlSerializer 时,svcutil.exe/xsd.exe 支持的 Schema 类型存在限制。我的问题有两个:
- 在处理较大的模块化 xsd 文件时,代码生成“问题”是否相当普遍?有没有人成功地从 OAGIS 或 HR-XML 模式生成数据合同?
- 鉴于上述问题,是否有更好的方法来完成这项任务,避免生成代码和使用具体对象?直接读取和编写 SOAP 消息是否更好,同时仍然利用 WCF 框架的其余部分?我知道我正在失去使用 .NET 对象的便利性以及框架提供的(反)序列化;考虑到这些损失,将我的服务基于 WCF 是否仍然有利?在使用 .NET 类型和纯 XML 之间是否存在一些“中间立场”?
非常感谢!
-Sasha Borodin DFWHC.org
.net - 如何:将机器生成的类从 xsd 文件重新组装到其原始嵌套状态
我正在使用 c# 在 Visual Studio 2008 中工作。
假设我有 2 个 xsd 文件,例如“Envelope.xsd”和“Body.xsd”
我通过运行 xsd.exe 创建了 2 组类,创建了“Envelope.cs”和“Body.cs”之类的东西,到目前为止一切都很好。
我不知道如何将两个类链接到序列化(使用 XmlSerializer)到正确的嵌套 xml 中,即:
我想:
<Envelope><DocumentTitle>Title</DocumentTitle><Body>Body Info</Body></Envelope>
但我得到:
<Envelope><DocumentTitle>Title</DocumentTitle></Envelope><Body>Body Info</Body>
有人可以告诉我这两个 .cs 类应该如何使 XmlSerializer 能够运行所需的嵌套结果吗?
太感谢了
保罗
c# - 我可以在不使用设计器的情况下创建数据集 XSD 吗?
我希望能够在不使用 Visual Studio 数据集设计器的情况下为我的类型化数据集创建 XSD 文件。有没有办法使用例如命令行工具来做到这一点?当一个表格从服务器资源管理器拖到设计界面时,会发生一些神奇的事情,但这种神奇是从哪里来的呢?
为了增加一些风味,我使用的是 DB2 LUW 9.1,但我猜测使用其他数据库供应商的过程是相似的。
一旦我有了 XSD,我就可以使用 XSD.exe 创建我的 .CS 类,没问题。
感谢您的任何帮助或建议!
/每
xsd - 任何方式来覆盖如何元素由 xsd.exe 绑定
我的架构中有以下元素:
在我的主要模式主体中,我使用一个元素来指定 1-of 情况:
当我运行 xsd.exe 时,生成的代码是:
问题是元素的 ID 标记被忽略,xsd.exe 任意命名属性“Item”。我不得不承认,这不是一个大问题,但它开始让我烦恼。让这更加烦人的是,如果我在同一级别有其他元素,xsd.exe 会将它们绑定为“Item1”、“Item2”等。
有谁知道是否可以不让xsd.exe 将我的选择元素命名为“项目”,而是可以输入我自己的属性名称?
.net - 哪些类型的事情会导致 sgen msbuild 任务因访问冲突而间歇性失败?
在我们项目的 MSBuild 文件中,我们生成了一个包含在 xml 序列化期间使用的类的程序集。这些类是通过 xsd.exe 生成的。
我们使用以下 SGen 任务配置。
在我们的构建服务器上执行 msbuild 脚本时,会间歇性地抛出以下错误。最初这个错误可能在每 50 个 (CI) 构建中发生一次,最近频率一直在增加,现在每 10 个构建中可能会发生 5-6 个。
正在生成的程序集的大小约为 410k(大约 35,000 行生成的代码),成功时序列化程序集的大小约为 1.7M。
失败时,输出如下:
我们使用 Hudson 来管理我们的构建,因此 msbuild 和 sgen 进程因此由 Hudson.exe 生成。
互联网上没有太多关于 SGen 的此类错误的信息。当然没有什么具体的。
c# - XSD.exe 不强制 minOccurs
我有一个简单的模式,我将 minOccurs 和 maxOccurs 都声明为 1。当我运行 XSD.exe 生成 C# 类并在代码中使用该类时;该字段不强制执行。是否缺少一些额外的步骤?还是使用 XSD.exe 生成的类不是必填字段?
任何建议或见解都会有所帮助。
c# - 从使用 XSD.exe 生成的 XML 中反序列化类
我有从 .xsd 生成的类(使用 xsd.exe),我可以很好地序列化,但是当我尝试反序列化它时,出现错误:
我已经搜索了几个小时,发现大多数人的问题在于没有在他们的 xsd/xml 中声明名称空间,没有在他们的类中定义名称空间等,但是我找不到我的问题的解决方案。
以下是相关类的代码片段。
和班级:
XML 中的一行导致错误:
反序列化方法:
c# - 使用 xsd.exe (VS2010) 从 xsd 生成 C# 代码时出现 StackOverFlowException
我正在尝试使用 xsd.exe 和 Visual Studio RC1(版本 10.0.30128.1)从 XML 模式生成 C# 代码,但得到以下错误:
C:\Development>xsd CR2008Schema.xsd /classes Microsoft (R) Xml Schemas/DataTypes 支持实用程序 [Microsoft (R) .NET Framework,版本 4.0.30128.1] 版权所有 (C) Microsoft Corporation。版权所有
进程因 StackOverflowException 而终止。
xsd 是http://www.businessobjects.com/products/xml/CR2008Schema.xsd
任何帮助表示赞赏。
谢谢,
斯塔凡
c# - 在 Visual Studio IDE 中从 XSD 自动生成 C#
我正在运行 Visual Studio 2010。我有一个XSD
架构并想使用 xsd.exe 工具生成适当的 C# 文件。我已经从命令行成功完成了这项工作,但现在我想从 IDE 做同样的事情。
是否有一些众所周知的路线?我设法使用了预构建事件,但我讨厌在每个构建上运行该工具。通常,它应该只在 XSD 更改时运行。
将生成的 .cs 文件添加到项目中,将其放在同名的 .xsd 下,因此 IDE 知道它们是相关的。
我知道我可以在我的 .xsd 上设置“自定义工具”,但我不确定这是否能达到预期的效果。我希望有一个更直接的方法。
最终,VS2010 无法执行 XSD.EXE,因为它位于 SDK 文件夹中,而 VS 已知的路径显然不包含它。
欢迎任何建议!