Delphi,OmniXML-XML绑定?

Delphi,OmniXML-XML绑定?,delphi,omnixml,Delphi,Omnixml,在多年使用默认的msxml实现之后,我正在尝试OmniXML。 我有几个xml结构(其中一些非常庞大),我最初使用Delphi向导为它们创建了一个绑定。然后手动编辑绑定以修复错误以及其他错误 第一个问题:是否有(某种程度上)简单的方法为OmniXML创建这样的绑定?我想不会,但你永远不知道。。。我开始手工编辑我的结构,试图使接口和类适合omniXML,但这是一项相当繁琐的工作 第二个问题:在一些演示和在线演示中,“数据绑定”(因为缺少更好的术语)似乎是通过继承OmniXMLPorperties(

在多年使用默认的msxml实现之后,我正在尝试OmniXML。 我有几个xml结构(其中一些非常庞大),我最初使用Delphi向导为它们创建了一个绑定。然后手动编辑绑定以修复错误以及其他错误

第一个问题:是否有(某种程度上)简单的方法为OmniXML创建这样的绑定?我想不会,但你永远不知道。。。我开始手工编辑我的结构,试图使接口和类适合omniXML,但这是一项相当繁琐的工作

第二个问题:在一些演示和在线演示中,“数据绑定”(因为缺少更好的术语)似乎是通过继承OmniXMLPorperties(TGpXMLxxxx)中定义的类来完成的。所以我开始玩弄它。至少在我的例子中,与尝试回收向导创建的数据绑定相比,以这种方式定义数据绑定是否有优势

谢谢


PS:如果有必要的话,我使用的是Delphi XE2

Delphi的原生XML数据绑定不与任何特定的XML DOM供应商实现绑定。它基于
TXMLDocument
和相关接口,然后这些接口在内部访问特定于供应商的DOM接口

在Windows上,MSXML是使用的默认DOM供应商。在MacOSX上,ADOM/OpenXML是默认使用的DOM供应商。但是您可以更改使用哪个DOM供应商。您只需将DOM供应商的名称分配给
Xml.XmlDom.pas
单元中的全局
DefaultDOMVendor
变量,并确保已通过
RegisterDOMVendor()
(对于MSXML和ADOM/OpenXML,只需在
uses
子句中添加相应的DOM实现单元-
Xml.Win.msxmldom
对于MSXML,
Xml.adomxmldom
对于ADOM/OpenXML,正如它们内部调用的
RegisterDOMVendor()


因此,在本例中,您可以简单地找到(或制作)OmniXML的DOM实现包装器,以便它可以插入
TXMLDocument
,然后将其注册到
RegisterDOMVendor()中
,并将
DefaultDOMVendor
变量设置为注册的DOM名称。

并且因为OmniXML与MSXML兼容,这应该不会造成问题。很好,这听起来相对简单!谢谢Remy,我会尝试一下。@Bourgui请告诉我们您的尝试结果。