程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 在delphi中使用xml文檔有兩種方法

在delphi中使用xml文檔有兩種方法

編輯:Delphi
在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;
  ...
  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved