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

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

編輯:Delphi

 在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;
...


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved