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

兩種方法使用xml文檔

編輯:Delphi

使用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