在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
unit Unit1;
interface uses 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. -------------------------------------------------------------------------------------------------------------------------------------- 出处:http://www.cnblogs.com/del/archive/2008/01/03/1024489.html |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论