在delphi中使用xml文档的两种方法 (1)

2008-02-23 07:14:08来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1 2 下一页

在Delphi中使用XML文档有两种方法,一是使用delphi 内置的xml broker;一是使用msxml.dll 。

一 使用xml broker, 是delphi 内置的

例: 

unit ShowXML; 

interface 

uses Classes HTTPApp Db DbClient Midas 

XMLBrokr WebComp MidItems; 

type 

TCustomShowXMLButton = class(TXMLButton IScriptComponent) 

protected 

XMLMethodName: string; 

{ IScriptComponent } 

procedure AddElements(AddIntf: IAddScriptElements); 

function GetSubComponents: TObject; 

{ IWebContent implementation } 

function ImplContent(Options: TWebContentOptions; 

ParentLayout: TLayout): string; override; 

end; 

TShowXMLButton = class(TCustomShowXMLButton) 

public 

constructor Create(AOwner: TComponent); override; 

published 

property Custom; 

property Style; 

property StyleRule; 

property Caption; 

property XMLBroker; 

property XMLUseParent; 

end; 

TShowDeltaButton = class(TCustomShowXMLButton) 

public 

constructor Create(AOwner: TComponent); override; 

published 

property Custom; 

property Style; 

property StyleRule; 

property Caption; 

property XMLBroker; 

property XMLUseParent; 

end; 

implementation 

uses sysutils MidProd; 

resourcestring 

sShowXML = 'Show XML'; 

sShowDelta = 'Show Delta'; 

procedure TCustomShowXMLButton.AddElements( 

AddIntf: IAddScriptElements); 

begin 

AddIntf.AddIncludeFile('xmlshow.js'); 

end; 

function TCustomShowXMLButton.GetSubComponents: TObject; 

begin 

Result := nil; 

end; 

function TCustomShowXMLButton.ImplContent(Options: TWebContentOptions; 

ParentLayout: TLayout): string; 

var 

Attrs: string; 

Intf: ILayoutWebContent; 

FormVarName: string; 

RowSetVarName: string; 

begin 

AddQuotedAttrib(Attrs 'NAME' Name); 

AddQuotedAttrib(Attrs 'STYLE' Style); 

AddQuotedAttrib(Attrs 'CLASS' StyleRule); 

AddQuotedAttrib(Attrs 'VALUE' Self.Caption); 

AddCustomAttrib(Attrs Custom); 

if Assigned(XMLData.XMLBroker) then 

begin 

FormVarName := XMLData.XMLBroker.SubmitFormVarName; 

RowSetVarName := XMLData.XMLBroker.RowSetVarName(nil); // Row row set var name 

end; 

if not (coNoScript in Options.Flags) then 

Result := 

Format(''#13#10 

[Attrs RowSetVarName XMLMethodName sXMLReadyVar]) 

else 

Result := 

Format(''#13#10 

[Attrs]); 

if Assigned(ParentLayout) and ParentLayout.GetInterface(ILayoutWebContent Intf) then 

Result := Intf.LayoutButton(Result GetLayoutAttributes); 

end; 

{ TShowXMLButton } 

constructor TShowXMLButton.Create(AOwner: TComponent); 

begin 

inherited; 

DefaultCaption := sShowXML; 

XMLMethodName := 'root'; 

end; 

{ TShowDeltaButton } 

constructor TShowDeltaButton.Create(AOwner: TComponent); 

begin 

inherited; 

DefaultCaption := sShowDelta; 

XMLMethodName := 'getDelta()'; 

end;

上一篇: 多线程技术在Delphi数据库编程中应用 (1)
下一篇: Delphi编程创建和删除文件夹 (1)

1 2 下一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何在C Builder中使用Delphi控件

下一篇:Delphi中用TListView显示数据库数据 (1)