如何在delphi中使用xml文档

在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;
// http://www.bianceng.cn
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;
...

时间: 2024-08-04 12:56:48

如何在delphi中使用xml文档的相关文章

Win7系统如何在excel中添加word文档结构图

  Win7系统如何在excel中添加word文档结构图          方法一: Word提供了一个很方便的功能--文档结构图,通过文档结构图可以在整个文档中快速浏览并追踪特定的文件内容位置.文档结构图是一个独立的窗口,类似于大纲视图,它能够显示文档的标题,单击文档结构图中的标题后,Word就会自动转到文档中的相应标题,并将其显示在窗口的顶部.用户可以单击菜单""视图"-"文档结构图"来打开它.但是EXCEL中没有提供文档结构图,那么如何管理数据量较大

Java编程中更新XML文档的常用方法

xml|编程 本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Laye

如何在winform中打开pdf文档的超链接?

问题描述 如何在winform中打开pdf文档的超链接? 40C 环境:windows8+vs2010+winform+adobe padf reader pdf文档中有一些超链接,单独打开时,超链接正常访问. 在pdf文档在 winform中打开后,超链接不能正常访问(没有反应) 有无解决方案? 解决方案 没有任何问题,不知道你是怎么写的 将pdf默认打开方式设为adobe padf reader试试 解决方案二: 看来你没有理解我的问题.------超链接是在pdf文档里面,而不是超链接指向

Java编程中更新XML文档的常用方法_JSP编程

  本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Layer的支持之

如何在IE中实现多文档模式?

问题描述 请高手指点:如何在IE中实现多文档模式?我曾看过一个页面里有几个子页面,其效果和winform多文档模式一样,子窗口可在父窗口中最小化.最大化.关闭.请问web中怎么实现? 解决方案 解决方案二:可使用脚本:http://js.alixixi.com/runcode.asp?id=29323解决方案三:不懂,帮你顶解决方案四:用层加iframe解决方案五:谢谢了解决方案六:对啊,二楼已解,就是层吗

Java中的XML: 文档模型,第一部分:性能

使用内存中 XML 文档的 Java 开发者可以选择使用标准 DOM 表示或几个 Java 特定模型中的任何一个.该灵活性已经帮助将 Java 建立成 XML 工作的出色平台.但是,由于不同模型数量的增加,已经更加难以确定如何比较模型的功能.性能和易用性. 关于使用"Java 中的 XML"系列中的第一篇文章研究了 Java 中一些领先的 XML 文档模型的特性和性能.它包括一组性能测试的结果.在系列中的第二篇文章将通过比较为实现同样任务所使用的不同模型的样本代码来研究易用性问题. 文

技巧:在Word 2007中创建XML文档

从Word 2003升级到Word2007的用户可能会注意到关于XML的某些改变:用户将不能从"XML文档"模板开始新建XML文档.因为Word 2007中不包含"XML文档"模板,取而代之的是"任何"文档都变成XML文档.只需简单地选择"Office按钮-另存为",并将"保存类型"设置为"Word XML文档".值得注意的是"Word 2003 XML文档"选项.它

在Word 2007中创建XML文档

如果是从word 2003升级到Word 2007,那么可能会注意到关于XML的某些改变.一方面,你将不能从"XML文档"模板开始新建XML文档.因为Word 2007中不包含"XML文档"模板. 取而代之的是,"任何"文档都变成XML文档.只需简单地选择"office按钮"-"另存为",并将"保存类型"设置为"word XML文档".注意"Word 200

在Word 2007中创建XML文档的技巧

  如果是从Word 2003升级到Word 2007,那么可能会注意到关于xml的某些改变.一方面,你将不能从"XML文档"模板开始新建XML文档.因为Word 2007中不包含"XML文档"模板. 取而代之的是,"任何"文档都变成XML文档.只需简单地选择"Office按钮"-"另存为",并将"保存类型"设置为"Word XML文档".注意"Word 2