varXML : TXMLDocument;DocIntf : IXMLDocument;
beginXML := TXMLDocument.Create(nil);DocIntf := XML;  //防止接口被自动释放,少了这一句会发生AV无宿主时一定要加后面这一句。不过一般不要这样做为好,先来看看delphi中关于XML文档的几个单元。·XMLIntf――包括了Borland自己定义的XML文档的接口; ·XMLDoc――是对XMLIntf中所定义接口的Borland实现; ·Xmldom――定义了DOM(文档对象模型)接口,这里对DOM接口进行了Borland的实现; ·Msxmldom――实现微软对Xmldom中定义的接口的实现,主要调用微软的COM对象来实现,对Xmldom中定义接口的封装; ·Xercesxmldom――Borland通过Xerces   XML   DOM方式来实现对Xmldom中定义接口的封装;  Oxmldom――Borland通过使用OpenXML来实现对Xmldom中定义接口的封装; 通常情况下不通过直接使用TXMLDocument对象来进行XML文件的读取,而是使用XMLDoc单元中提供的几个有用的函数来读取XML文档,这些函数包括: function   LoadXMLDocument(const   FileName:   DOMString):   IXMLDocument; function   LoadXMLData(const   XMLData:   DOMString):   IXMLDocument;   overload; function   LoadXMLData(const   XMLData:   string):   IXMLDocument;   overload; function   NewXMLDocument(Version:   DOMString   =   '1.0 '):   IXMLDocument;   可以看出这些函数全部返回的是IXMLDocument接口,得到了IXMLDocument接口再进行文档的操作;这些函数都是通过创建TXMLDocument对象来实现对XML文档的读取的;其中NewXMLDocument仅仅创建一个IXMLDocument接口。

动态创建TXMLDocument--使用IXMLDocument接口相关推荐

  1. D3D11设备接口的动态创建方法

    在微软的例子中,提供了一种动态创建ID3D11Device接口指针的方法,发在这里,供大家参考.该方法的优势就是可以方便的判定系统中是否支持D3D11,并且针对可能的情况,通过MessageBox的方 ...

  2. SpringBoot集成Quartz实现定时任务的动态创建、启动、暂停、恢复、删除。

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:毅大师 blog.csdn.net/qq_39648 ...

  3. asp.net 包含动态创建控件的容器如果要切换显示/隐藏不要用 Visible 属性

    asp.net 包含动态创建控件的容器如果要切换显示/隐藏不要用 Visible 属性 就是不用 XXX.Visible = false;  // true 因为这样该容器及其子控件会彻底的从页面上消 ...

  4. 对xxl-job进行simpleTrigger并动态创建任务扩展

    2019独角兽企业重金招聘Python工程师标准>>> 博文原址:对xxl-job进行simpleTrigger并动态创建任务扩展 业务场景 需求上要求能实现quartz的simpl ...

  5. Android应用开发—TextView的动态创建

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/voidreturn/article/details/77131800 动态创建TextView的两种 ...

  6. 【设计模式】代理模式 ( 动态代理使用流程 | 创建目标对象 | 创建被代理对象 | 创建调用处理程序 | 动态创建代理对象 | 动态代理调用 )

    文章目录 前言 一.静态代理的弊端 二.动态代理的优势 三.动态代理使用流程 1.目标对象接口 2.被代理对象 3.调用处理程序 4.客户端 四.动态生成 代理对象 类 的 字节码 文件数据 前言 代 ...

  7. 动态创建DataGrid的模版列(转)

    有的时候我们需要邦定很复杂的DataGrid,我们知道DataGrid,DataList等控件都有Template列,我们可以通过动态的邦定模版列来实现,复杂逻辑的邦定.由于Page继承Templat ...

  8. 零基础学Python:使用type、metaclass动态创建方法和属性的详细用法

    1.type() 我们知道动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个Person的class: class Person(obje ...

  9. 动态创建 Web 服务器控件模板

    由于各种原因,直到运行时,您可能才会知道需要什么模板或模板中应包含哪些文本或控件.在这种情况下,您需要能够动态创建该模板(在代码中). 注意   您还可以将模板创建为 Web 窗体用户控件,并将其动态 ...

最新文章

  1. 基于caffe的度量学习实现(Siamese network Triplet network)
  2. 比赛:小奔与不等四边形solution
  3. 遭遇“长租杀熟”,95后蜗居的长租公寓未来也是“扑朔迷离”?
  4. 【转载】直到活动结束时的openeim
  5. 虚拟环境--virtualenv
  6. Drawing with GoogLeNet
  7. Tomcat日志配置
  8. java编译时绑定_为什么Java在编译时绑定变量?
  9. 编译原理 --- 正规式和有限自动机
  10. springboot模板项目搭建:代码生成器AutoGenerator
  11. 3DES加密解密方法
  12. Hdu 1240 Asteroids题解
  13. 微信公众平台编辑器可以剪裁和替换正文图片了
  14. OSChina 周二乱弹 —— 春节假期已经完全结束
  15. Https比Http速度慢具体分析
  16. 【302期】SpringBoot 项目鉴权的 4 种方式,你了解吗?
  17. crontab 简明教程
  18. python生成春联图片,并包装为GUI工具
  19. jzoj5989. 【北大2019冬令营模拟2019.1.6】Forest (set)
  20. Kali网络渗透--UDP攻击--Hping3

热门文章

  1. 吴恩达深度学习5.3练习_Sequence Models_Neural machine translation with attention
  2. 吴恩达深度学习4.2练习_Convolutional Neural Networks_Happy House Residual Networks
  3. pandas基础(一)
  4. Fatal error: Maximum function nesting level of '100' reached, aborting!
  5. 《IT蓝豹》PlayNewsStandDemo资讯类新闻客户端框架
  6. 说说emit(上)基本操作
  7. 了解java虚拟机—非堆相关参数设置(4)
  8. DB pivot unpivot
  9. N多校2018d4t7Maximum Mode
  10. java基础面试题总结