博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi 中的 XMLDocument 类详解(5) - 获取元素内容
阅读量:6112 次
发布时间:2019-06-21

本文共 2353 字,大约阅读时间需要 7 分钟。

  hot3.png

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type  TForm1 = 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;var  Form1: TForm1;implementation{$R *.dfm}//打开procedure TForm1.FormCreate(Sender: TObject);begin  XMLDocument1.LoadFromFile('c:\temp\test.xml');  {必须用万一提供的 xml 测试文件, 才能有相同的返回值}end;//访问第一个人的信息procedure TForm1.Button1Click(Sender: TObject);begin  ShowMessage(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);var  nodeList: IXMLNodeList;  node: IXMLNode;begin  nodeList := 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);var  nodeList: IXMLNodeList;  node: IXMLNode;  num,i: Integer;begin  nodeList := XMLDocument1.DocumentElement.ChildNodes;  num := nodeList.Count;  for i := 0 to num - 1 do  begin    node := nodeList[i];    ShowMessage(node.ChildNodes['姓名'].Text); {会分别显示: 张三 李四 王五 孙六}  end;end;//获取所有成员年龄procedure TForm1.Button4Click(Sender: TObject);var  nodeList: IXMLNodeList;  node: IXMLNode;  num,i: Integer;begin  nodeList := XMLDocument1.DocumentElement.ChildNodes;  num := nodeList.Count;  for i := 0 to num - 1 do  begin    node := nodeList[i];    ShowMessage(node.ChildValues['年龄']); {会分别显示: 34 43 25 52}  end;end;end.

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

你可能感兴趣的文章
欢迎大家观看本人录制的51CTO精彩视频课程!
查看>>
IntelliJ IDEA中设置忽略@param注释中的参数与方法中的参数列表不一致的检查
查看>>
关于软件开发的一些感悟
查看>>
uva 10806
查看>>
纯CSS3绘制的黑色图标按钮组合
查看>>
Linux中环境变量文件及配置
查看>>
从0开始学Flutter
查看>>
mysql操作入门基础之对数据库和表的增删改查
查看>>
IIS负载均衡
查看>>
分布式事务,EventBus 解决方案:CAP【中文文档】
查看>>
Linux下的CPU性能瓶颈分析案例
查看>>
spring mvc入门
查看>>
2012在数据库技术会议上的讲话PPT打包
查看>>
【Android】 TextView设置个别字体样式
查看>>
python svn
查看>>
raise语句
查看>>
sequence2(高精度dp)
查看>>
如何向 Linux 内核上游提交 Patch ?
查看>>
Go编程笔记(7)
查看>>
Go语言int类型绑定方法
查看>>