当前位置: 首页 > 图文教程 > 开发语言 > Delphi > delphi学习:两种方法使用xml文档

Delphi
Delphi编程中Http协议应用(一)
Delphi存取图像完整解决方案
简析Delphi中的XML编程
用Delphi实现IP地址的隐藏
Delphi面向对象编程的20条规则
Delphi中的Wrapper设计模式
用Delphi实现软件的在线升级
Delphi7.0实现添加记录的“携带”实现
Delphi编程访问注册表
让Delphi的DBGrid支持鼠标轮
怎样在DELPHI中实现文件切割/组合
Delphi设计可中/英文切换的界面技巧
用Delphi制作以浏览器为界面的应用程序
Delphi 中压缩流和解压流的应用
Delphi控制并行端口位操作
Delphi编写后台监控软件
用Delphi编写VxD设备驱动程序
用Delphi进行OpenGL编程学习心得
DELPHI编程实现3DS的动画播放
用Delphi制作动态菜单

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 53 ::
收藏到网摘: n/a

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