在delphi中使用xml文档有两种方法
使用xml代理,是delphi内置的。例如:
单元ShowXML;
界面
使用类 HTTPApp Db DbClient Midas
XMLBrokr WebComp MidItems;
类型
TCustomShowXMLButton = 类(TXMLButton IScriptComponent)
受保护
XML方法名称:字符串;
{ IScript组件 }
过程 AddElements(AddIntf: IAddScriptElements);
函数 GetSubComponents: TObject;
{ IWebContent 实现 }
函数 ImplContent(选项:TWebContentOptions;
父布局:TLayout):字符串;覆盖;
结尾;
TShowXMLButton = 类(TCustomShowXMLButton)
民众
构造函数 Create(AOwner: TComponent);覆盖;
发表
财产定制;
属性风格;
属性样式规则;
属性标题;
属性 XMLBroker;
属性 XMLUseParent;
结尾;
TShowDeltaButton = 类(TCustomShowXMLButton)
民众
构造函数 Create(AOwner: TComponent);覆盖;
发表
财产定制;
属性风格;
属性样式规则;
属性标题;
属性 XMLBroker;
属性 XMLUseParent;
结尾;
执行
使用 sysutils MidProd;
资源字符串
sShowXML = '显示 XML';
sShowDelta = '显示增量';
过程 TCustomShowXMLButton.AddElements(
AddIntf: IAddScriptElements);
开始
AddIntf.AddIncludeFile('xmlshow.js');
结尾;
函数 TCustomShowXMLButton.GetSubComponents: TObject;
开始
结果:=零;
结尾;
函数 TCustomShowXMLButton.ImplContent(选项: TWebContentOptions;
父布局:TLayout):字符串;
变量
属性:字符串;
Intf:ILayoutWebContent;
表单变量名称:字符串;
RowSetVarName:字符串;
开始
AddQuotedAttrib(Attrs 'NAME' 名称);
AddQuotedAttrib(Attrs 'STYLE' 样式);
AddQuotedAttrib(Attrs 'CLASS' StyleRule);
AddQuotedAttrib(Attrs 'VALUE' Self.Caption);
AddCustomAttrib(属性自定义);
如果已分配(XMLData.XMLBroker) 那么
开始
FormVarName := XMLData.XMLBroker.SubmitFormVarName;
RowSetVarName := XMLData.XMLBroker.RowSetVarName(nil); // 行行集变量名称
结尾;
如果不是(Options.Flags 中的 coNoScript)则
结果:=
格式(''#13#10
[属性 RowSetVarName XMLMethodName sXMLReadyVar])
别的
结果:=
格式(''#13#10
[属性]);
如果分配(ParentLayout)和ParentLayout.GetInterface(ILayoutWebContent Intf)然后
结果 := Intf.LayoutButton(结果 GetLayoutAttributes);
结尾;
{ TShowXMLButton }
构造函数 TShowXMLButton.Create(AOwner: TComponent);
开始
遗传;
默认标题 := sShowXML;
XMLMethodName := '根';
结尾;
{ TShowDeltaButton }
构造函数 TShowDeltaButton.Create(AOwner: TComponent);
开始
遗传;
默认标题 := sShowDelta;
XMLMethodName := 'getDelta()';
结尾;
另一种方法使用msxml.dll如下:
....
....
过程 TDHEDForm.OpenBtnClick(发件人: TObject);
变量
pVIn:油变体;
提示:OleVariant;
开始
pVIn := '';
提示:=真;
DHTMLEdit1.LoadDocument(pVIn 提示);
结尾;
过程 TDHEDForm.SaveBtnClick(发件人: TObject);
变量
vo vb:OleVariant;
开始
vo := DHTMLEdit1.CurrentDocumentPath;
如果 (vo <> '') 那么
开始
vb := 假;
结尾
别的
开始
沃:='';
vb := 真;
结尾;
DHTMLEdit1.SaveDocument(vo vb);
结尾;
过程 TDHEDForm.SaveAsClick(发件人: TObject);
变量
vo vb:OleVariant;
开始
沃:='';
vb := 真;
DHTMLEdit1.SaveDocument(vo vb);
结尾;
...
//为论文转贴,作者不详,仅供大家参考