没有XML绑定的XSD到Delphi类

时间:2011-05-02 05:46:31

标签: xml delphi xsd code-generation

也许以前曾经问过这个问题,但是我还没有找到关于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.

2 个答案:

答案 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社区感兴趣,可以在短时间内实施和贡献......