网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
在delphi中使用xml文档有两种方法
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
TMSDOMImplementation(msxmldom单元中)的实现方式可以得到证明,实现的过程中通过调用CoCreateInstance函数接口来实现解析的;

在发布解析XML的代码的时候可能就会存在由于IE的本版的不同,需要把IE6.0一同发布,比较麻烦;

2、Borland的Xerces解析器

这种方式的解析器是通过 LoadLibrary(PChar(LibName));函数,LibName的内容是xercesxmldom.dll(Windows平台),libxercesxmldom.so.1(Linux平台)。那么就需要随同应用程序一起发布的Dll,就包括了xercesxmldom.dll,XercesLib.dll,CC3260MT.DLL;

这个发布相对于发布不同版本的IE6.0来说要相对简单一些;

3、OpenXML解析器

由于存在xdom.pas单元,这个单元中包含了完全的XML解析的源代码,那么应用这种方式,可以避免软件发布的种种问题,这是由于解析的代码被静态编译在应用程序内部。唯一不好的地方就是应用程序的体积可能要大一些;


l         如何使用不同的解析器

我们可以写一个函数来使用不同的解析器;

function NewDiffXmlDocument(DOMVender: string;

  Version: DOMString = ''1.0''): IXMLDocument;

var

  XMLDoc : TXMLDocument;

begin

  XMLDoc := TXMLDocument.Create(nil);

  XMLDoc.DOMVendor := GetDOMVendor(DOMVender);

  Result := XMLDoc;

  Result.Active := True;

  if Version <> '''' then

    Result.Version := Version;

end;

 
其中DOMVender如果用Borland提供的三种方式进行解析的话,分别取值是:

       Microsoft――存在于msxmldom.pas单元中的SMSXML常量;

       Xerces――存在于xercesxmldom .pas单元中的SXercesXML常量;

       OpenXML――存在于oxmldom.pas单元中的SOpenXML常量;


这个是由于在msxmldom,xercesxmldom,oxmldom三个单元的initailization部分,都通过调用RegisterDOMVendor函数,注册了不同的解析器接口;


当然,Borland同样提供了一种可以灵活进行扩展的机制来扩展用户自己的解析器,这个需要继承,TDOMVendor类(存在于xmldom单元中)。实际上,Borland自己就是通过这种方式来实现不同方式解析器的;具体的实现过程可以通过参考oxmldom单元中对xdom的封装;


结论
       Delphi作为一个成功的开发工具,它自身实现的对XML的支持,肯定比网络上某些实现要稳定、高效的多,我们没有必要再进行另外的封装什么MSXML.DLL的COM接口。当然,可以自己实现不同的XML解析器,也可以应用已经存在的解析器。同时,可以看出Delphi对于XML的支持也是非常完善的。  

 2005-9-20 21:52:38    XML的二十个热点问题
翻译:Chen Zhihong

这些日子,几乎每个人都在谈论XML (Extensible Markup Language),但是很少有人真正理解其含义。XML的推崇者认为它能够解决所有HTML不能解决的问题,让数据在不同的操作系统或应用之间进行灵活交换。确实,所有的观察家们都同意XML将引发一场内容发布和知识交换的革命。谁先进入这个领域,谁就能够大获其利。

这里的20个有关XML的热门问题能够让你成为一XML“专家”,或至少让你能够在今后看准XML的发展方向。

1 什么是XML?                                   &nb

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号