中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Delphi > 综合文章
在delphi中使用xml文档的两种方法
作者:稻草 时间:2006-10-05 12:40 出处:CSDN 责编:月夜寒箫
              摘要:在delphi中使用xml文档的两种方法
 

 

在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;
            ...
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有