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

一直耳战黑猫

一直耳战黑猫

2016-02-19 19:58

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的在delphi中使用xml文档有两种方法教程,一起来看看吧!超容易上手~
在delphi中使用xml文档有两种方法
  使用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;
  ...
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
在delphi中使用xml文档有两种方法

delphi学习:两种方法使用xml文档

Delphi
delphi学习:两种方法使用xml文档

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Android中使用Gson解析JSON数据的两种方法

编程语言 网络编程
Android中使用Gson解析JSON数据的两种方法

在PHP中使用XML

PHP
在PHP中使用XML

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎样在vc、delphi中使用mysql

编程语言 网络编程
怎样在vc、delphi中使用mysql

在PowerPoint中插入视频的两种方法

电脑入门
在PowerPoint中插入视频的两种方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

url编码与解码工具附代码

url编码与解码工具附代码

用DreamweaverMX 做图像热区

用DreamweaverMX 做图像热区
下拉加载更多内容 ↓