随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1266万

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;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(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');
end;


//获取根目录下的元素数(1)
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(XMLDocument1.DocumentElement.ChildNodes.Count)); {4}
  {DocumentElement 是根节点}
  {ChildNodes 是节点包含的子节点的列表}
end;


//获取根目录下的元素数(2) 
procedure TForm1.Button2Click(Sender: TObject);
var
  nodeList: IXMLNodeList; {定义一个节点列表对象}
begin
  nodeList := XMLDocument1.DocumentElement.ChildNodes;
  {把根节点下的子节点列表赋给节点列表对象}

  ShowMessage(IntToStr(nodeList.Count)); {4}
end;


//获取根目录下的元素数(3) 
procedure TForm1.Button3Click(Sender: TObject);
var
  node: IXMLNode;         {定义一个节点对象}
  nodeList: IXMLNodeList; {定义一个节点列表对象}
begin
  node := XMLDocument1.DocumentElement;
  {根节点也是一个节点, 把它赋给节点对象}

  nodeList := node.ChildNodes;
  ShowMessage(IntToStr(nodeList.Count)); {4}
end;

end.

posted on   万一  阅读(12305)  评论(3编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)


点击右上角即可分享
微信分享提示