手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

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

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

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 下一页

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!