繁体中文
设为首页
加入收藏
当前位置:技术首页 >> 开发 >> Delphi >> 在delphi中使用xml文档的两种方法

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

2006-10-11 17:10:15  作者:admin  来源:赛迪网  浏览次数:111  文字大小:【】【】【
关键字:delphi
 在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;

 

二、使用msxml.dll

例: 

.... 

procedure TDHEDForm.OpenBtnClick(Sender: TObject); 

var 

pVIn : OleVariant; 

Prompt : OleVariant; 

begin 

pVIn := ''; 

Prompt := True; 

DHtmlEdit1.LoadDocument(pVIn Prompt); 

end; 

procedure TDHEDForm.SaveBtnClick(Sender: TObject); 

var 

vo vb : OleVariant; 

begin 

vo := DHTMLEdit1.CurrentDocumentPath; 

if (vo <> '') then 

begin 

vb := false; 

end 

else 

begin 

vo := ''; 

vb := true; 

end; 

DHTMLEdit1.SaveDocument(vo vb); 

end; 

procedure TDHEDForm.SaveAsClick(Sender: TObject); 

var 

vo vb : OleVariant; 

begin 

vo := ''; 

vb := true; 

DHTMLEdit1.SaveDocument(vo vb); 

end; 

...

点击收藏到

责任编辑:admin

本文引用地址: http://tech.itzero.com/2006/1011/834.html 请粘贴到你的QQ/MSN上推荐给你的好友

相关文章
Delphi使用VB编写的ActiveX控件全攻略
在delphi.net的VCL.net里使用Ado.net
用Delphi开发Web服务数据库程序
Delphi程序实现对光驱盘盒的开关控制
Delphi中动态链接库(DLL)的建立和使用
在delphi.net的VCL.net里使用Ado.net
Delphi中优秀的字符串分割函数
在Delphi中如何维护COM+的状态信息
用Delphi编写VxD设备驱动程序
Delphi使用VB编写的ActiveX控件全攻略
 

最新文章

更多

· Delphi使用VB编写的Acti...
· 在delphi.net的VCL.net里...
· 用Delphi开发Web服务数据...
· Delphi程序实现对光驱盘...
· Delphi中动态链接库(DLL...
· 在delphi.net的VCL.net里...
· Delphi中优秀的字符串分...
· 在Delphi中如何维护COM+...
· 用Delphi编写VxD设备驱动...
· Delphi使用VB编写的Acti...

热点文章

更多

其它推荐