为什么80%的码农都做不了架构师?>>>   

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;typeTForm1 = class(TForm)XMLDocument1: TXMLDocument;Button1: TButton;Button2: TButton;Button3: TButton;Button4: TButton;procedure FormCreate(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button4Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation{$R *.dfm}//打开
procedure TForm1.FormCreate(Sender: TObject);
beginXMLDocument1.LoadFromFile('c:\temp\test.xml');{必须用万一提供的 xml 测试文件, 才能有相同的返回值}
end;//访问第一个人的信息
procedure TForm1.Button1Click(Sender: TObject);
beginShowMessage(XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes['姓名'].Text); {张三}ShowMessage(XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes['性别'].Text); {男}ShowMessage(XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes['年龄'].Text); {34}{可以通过位置访问子节点, 如: ChildNodes[0] 表示子节点列表中的第一个元素}{可以通过子节点名访问子节点, 如: ChildNodes['姓名']}{但在节点名一样的情况下, 只能通过位置访问}{任何情况下都可以通过位置访问, 譬如:}ShowMessage(XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes[0].Text); {张三}
end;//访问第二个人的信息
procedure TForm1.Button2Click(Sender: TObject);
varnodeList: IXMLNodeList;node: IXMLNode;
beginnodeList := XMLDocument1.DocumentElement.ChildNodes;node := nodeList[1];ShowMessage(node.ChildNodes['姓名'].Text); {李四}ShowMessage(node.ChildNodes['性别'].Text); {女}ShowMessage(node.ChildNodes['年龄'].Text); {43}
end;//获取所有成员姓名
procedure TForm1.Button3Click(Sender: TObject);
varnodeList: IXMLNodeList;node: IXMLNode;num,i: Integer;
beginnodeList := XMLDocument1.DocumentElement.ChildNodes;num := nodeList.Count;for i := 0 to num - 1 dobeginnode := nodeList[i];ShowMessage(node.ChildNodes['姓名'].Text); {会分别显示: 张三 李四 王五 孙六}end;
end;//获取所有成员年龄
procedure TForm1.Button4Click(Sender: TObject);
varnodeList: IXMLNodeList;node: IXMLNode;num,i: Integer;
beginnodeList := XMLDocument1.DocumentElement.ChildNodes;num := nodeList.Count;for i := 0 to num - 1 dobeginnode := nodeList[i];ShowMessage(node.ChildValues['年龄']); {会分别显示: 34 43 25 52}end;
end;end.

转载于:https://my.oschina.net/hermer/blog/320598

Delphi 中的 XMLDocument 类详解(5) - 获取元素内容相关推荐

  1. Delphi 中的 XMLDocument 类详解(13) - 关于 XML 属性

    为什么80%的码农都做不了架构师?>>>    unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Clas ...

  2. c++ builder 中的 XMLDocument 类详解(2) - 记要

    1.TXMLDocument 适用于内存中操作和建立新的 xml 2.一个 TXMLDocument 文档其实就是一个节点集合 3.每个节点包括名称.文本内容.属性集合.子节点集合 4.可以按位置或名 ...

  3. Java中的Runtime类详解

    Java中的Runtime类详解 1.类注释 /**Every Java application has a single instance of class Runtime that allows ...

  4. java configuration类_JAVA中的Configuration类详解

    本文主要研究的是java中的configuration类的用法,涉及maven自动加载,pom.xml配置和简单的java代码,具体如下. properties文件是java平台默认的配置文件格式,其 ...

  5. stringtokenizer java_基于Java中的StringTokenizer类详解(推荐)

    StringTokenizer是字符串分隔解析类型,属于:Java.util包. 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析 ...

  6. mbg中的Example类详解

    Mybatis逆向工程中生成的Example类 MyBatis Generator:简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及be ...

  7. XmlDocument类详解

     XmlDocument类 FreeEIM XmlDocument类是.NET框架的DOC解析器.XmlDocument将XML视为树状结构,它装载XML文档,并在内存中构建该文档的树状结构.下面 ...

  8. Java中的Properties类详解Properties配置文件

    1.Properties类是什么? Properties(Java.util.Properties),该类主要用于读取Java的配置文件,不同的编程语言有自己所支持的配置文件,配置文件中很多变量是经常 ...

  9. js中的Class类详解

    目录 什么是类? 定义一个简单的类 定义一个类为Person,每个Person都会跑,都有名字 看一下Person类 和 Person的实例 但是为什么Person实例多出来的两个属性? new 一个 ...

最新文章

  1. CCF-201612-3 -权限查询
  2. 网络营销重点之如何了解用户需求完善网络营销策略
  3. NOIP 2017 总结
  4. 计算机视觉应关注的资源
  5. python清除列表内容_Python 列表的清空方式
  6. python+OpenCV图像处理(十一)图像轮廓检测
  7. realsense d435i 跑 vins-fusion
  8. 2021款iPad Pro渲染图曝光:依旧采用双摄+激光雷达扫描仪
  9. 计算机考研408的优势和劣势,21考研:杭州电子科技大学计算机改考408!透露2个信号,咋整?...
  10. NBUT 1116 Flandre's Passageway (LIS变形)
  11. css 3 制作水波状进度条
  12. 【PCB学习笔记】绘制智能车四层板 --- PCB封装库的创建方法及现有封装调用
  13. 抢小米软件html版(简单有效)
  14. 最速下降法解析(理解笔记)
  15. ROS World 2020所有视频发布
  16. syslog (cactiez)
  17. 两条平滑曲线相乘_对三次贝塞尔曲线过点平滑中尖角和交叉现象的优化
  18. matlab基于技术的磨皮,美颜磨皮SDK中关于磨皮算法的大致实现流程
  19. shader篇-渲染纹理
  20. win32 WaitCommEvent

热门文章

  1. 古典人像秒变3D,视角还能随意切,华为上交联手出品
  2. 量子信息之父辞世,开山论文写完14年才被发表,晚年去当建筑工人
  3. 三星下一代手机芯片由AI来设计,EDA行业老大提供技术
  4. 苹果被正式起诉!欧盟:滥用主导地位,利用App Store扭曲竞争
  5. 谷歌实现2种新的强化学习算法,“比肩”DQN,泛化性能更佳!|ICLR 2021
  6. 16万辆汽车已经用上中国“车规AI第一芯”,量产还在加速
  7. 只要你的AI算法能比小白鼠聪明,DeepMind的这20万奖金请拿走
  8. 在PyTorch上用Keras,分布式训练开箱即用,告别没完没了的Debug
  9. JSONPlaceholder使用
  10. Python 如何计算当前时间减少或增加一个月