在delphi中使用xml文档的兩種方法
在delphi中使用XML文档有兩種方法,一種是使用內置的xml broker在德爾福;一是利用msxml.dll。
一旦使用了xml broker,它就是在delphi中搆建的。
示例:
單位ShowXML
連接
使用HTTPApp Db DbClient Midas類
XMLBrokr WebComp MidItems
類型
TCustomShowXMLButton = class(txml button IScriptComponent)
保護
XML method name:string;
{ IScriptComponent }
過程add elements(addint f:IAddScriptElements);
函數GetSubComponents:to object;
{ IWebContent實現}
函數ImplContent(選項:TWebContentOptions
parent layout:TLayout):string;覆蓋;
結束;
TShowXMLButton = class(TCustomShowXMLButton)
公衆的
搆造函數Create(aoowner:t component);覆蓋;
出版
財産習俗;
物業風格;
屬性StyleRule
屬性標題;
屬性XMLBroker
屬性XMLUseParent
結束;
TShowDeltaButton = class(TCustomShowXMLButton)
公衆的
搆造函數Create(aoowner:t component);覆蓋;
出版
財産習俗;
物業風格;
屬性StyleRule
屬性標題;
屬性XMLBroker
屬性XMLUseParent
結束;
履行
使用sysutils MidProd
資源字符串
sShowXML = ' Show XML
sShowDelta = ' Show Delta
過程TCustomShowXMLButton。添加元素(
addint f:IAddScriptElements);
開始
AddIntf。add include file(' XML show . js ');
結束;
函數TCustomShowXMLButton。get sub components:to object;
開始
結果:=零;
結束;
函數TCustomShowXMLButton。ImplContent(選項:TWebContentOptions
parent layout:TLayout):string;
定義變量
Attrs:字符串;
intf:ILayoutWebContent;
form varname:string;
rowset varname:string;
開始
AddQuotedAttrib(Attrs ' NAME ' NAME);
AddQuotedAttrib(Attrs ' STYLE ' STYLE);
AddQuotedAttrib(Attrs ' CLASS ' style rule);
AddQuotedAttrib(Attrs ' VALUE ' Self。字幕);
AddCustomAttrib(Attrs自定義);
如果分配了(XMLData。XMLBroker)然後
開始
FormVarName := XMLData。XMLBroker . SubmitFormVarName
RowSetVarName := XMLData。XML broker . rowset varname(nil);// Row行集郃變量名稱
結束;
如果沒有(選項中的coNoScript。標志)
結果:=
格式(' #13#10
[Attrs rowset varname XML methodname sXMLReadyVar])
其他
結果:=
格式(' #13#10
[Attrs]);
如果分配了(ParentLayout)和ParentLayout。GetInterface(ILayoutWebContent Intf)然後
結果:= Intf。LayoutButton(結果GetLayoutAttributes);
結束;
{ TShowXMLButton }
搆造函數TShowXMLButton。create(aoowner:t component);
開始
繼承的;
default caption:= sShowXML;
XML method name:= ' root ';
結束;
{ TShowDeltaButton }
搆造函數TShowDeltaButton。create(aoowner:t component);
開始
繼承的;
default caption:= sshowdetal;
XML method name:= ' get delta()';
結束;
0條評論