也许以前曾经问过这个问题,但是我还没有找到关于Delphi的问题 - 我在Visual Studio中使用过XSD.exe就是这样:将XSD转换为 'plain vanilla' 表示在XSD中指定的实体的类 - 未绑定到XML文档 - 用于在XSD中创建结构的类,不访问符合XSD中概述的结构的数据。
我正在寻找能够做到这一点的实用程序或产品(不花大价钱......):例如,我有这样的架构:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="TDelphiClass">
<xs:complexType>
<xs:sequence>
<xs:element ref="ID"/>
<xs:element ref="ConnectionString"/>
<xs:element ref="Group"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ID" type="xs:integer"/>
<xs:element name="ConnectionString" type="xs:string"/>
<xs:element name="Group"type="xs:double"/>
</xs:schema>
我想生成一个如下所示的Delphi单元/类:
unit uDelphiClass;
interface
uses
Classes, SysUtils;
type
TDelphiClass = class(TObject)
fID: Integer;
fConnectionString: string;
fGroup: Double;
end;
implementation
end.
答案 0 :(得分:6)
在行间读取(请使用较少的缩写,例如,VS has multiple meanings,即使在计算中),您可能使用Visual Studio或.NET SDK中的XSD.EXE工具生成源代码用C#或VB.NET语言编写的代码。
如果您有Delphi Prism,则可以use XSD.EXE to generate Delphi Prism source code。
Delphi Prism语言非常接近Delphi母语,因此这将为您提供一个良好的开端。
这也适用于Delphi Prism试验。
BTW:为什么你不想以独立的方式使用XML Data Binding Wizard生成的Delphi本机代码?它是基于界面的,但速度非常快,效果非常好。答案 1 :(得分:4)
http://sourceforge.net/projects/xxsd2code/生成C ++,C#,C ++ / CLI和Java - 看起来包含的'LanguageWriter'类并不太复杂,无法为Delphi扩展它们。例如,Java LanguageWriter少于400行。如果对Delphi社区感兴趣,可以在短时间内实施和贡献......