使用 Visual Studio xsd.exe 生成代码时的 Pascal 案例类名

本文关键字:Pascal 案例 代码 Studio Visual xsd exe 使用 | 更新日期: 2023-09-27 17:55:27

>标题几乎说明了一切。VS xsd.exe 在驼峰大小写中创建类。有没有办法在帕斯卡的情况下生成类?

如果没有,有谁知道一个好的工具可以将大量类名从驼峰大小写转换为帕斯卡大小写。

谢谢

编辑:

xsd.exe 不会以驼峰大小写生成类名作为标准 - 它只是遵循架构的约定 - 但是,我有兴趣覆盖此行为,因此 XmlElement 名称属性仍将遵循架构定义的约定,但类名是帕斯卡大小写。

使用 Visual Studio xsd.exe 生成代码时的 Pascal 案例类名

我不知道

xsd.exe做到了,你确定架构中的类型也没有在 camelCase 中定义吗?

我的建议是使用xsd2code,它在各个方面都远远优于xsd.exe。

查看 XmlSchemaClassGenerator,这是一个开源控制台应用程序,其功能中包含 PascalCasing。(我在 xsd2code 的 15 天试用期到期后发现了这一点。

  • 显式或通过(可配置)函数将 XML 命名空间映射到 C# 命名空间
  • 从架构批注生成 C# XML 注释
  • 生成数据注释 架构限制中的属性
  • 使用Collection<T> 属性(在构造函数中初始化并使用私有资源库)
  • 对 xs:integer 和派生类型使用 int、long、十进制或字符串
  • 自动属性
  • 类和属性的帕斯卡案例
  • 为可选元素和没有默认值的属性生成可为空的适配器属性(见下文)
  • 对 PCL 的可选支持
  • INotifyPropertyChanged的可选支持

就我而言,在我让控制台应用程序工作之前,我必须修改 xsd 文档以包含targetNamespace字段,如下所示:

源语言:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1">

改 性:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="gateway" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1">

我的最终用法如下所示:

XmlSchemaClassGenerator.Console -n "http://www.w3.org/2001/XMLSchema=gateway" -o "C:'{output-folder}" {xsd-file-name}.xsd