首先用到TXMLDocument控件;

Memo来显示XML文件,

TreeView来呈现元素;

源代码:

Procedure TForm2.Button1Click(Sender: TObject);
Begin
    XMLDocument1.LoadFromFile('E:\template1.xml');
    Memo1.Font.Size :=15;
    Memo1.Align := TAlignLayout.alLeft;
    Memo1.Lines := XMLDocument1.XML; {查看}
End;

Procedure TForm2.Button2Click(Sender: TObject);
Var
    nodeList: IXMLNodeList;
    node: IXMLNode;
    num,i: Integer;
    Item: TTreeViewItem;
    Item2 : TTreeViewItem;
    Item3 : TTreeViewItem;
Begin
    TreeView1.Align := TAlignLayout.alRight;
    TreeView1.AlternatingRowBackground := True;

Item := TTreeviewItem.Create(Self);

//根元素
    Item.Parent := TreeView1;
    Item.Text := XMLDocument1.DocumentElement.Attributes['备注'];
    Item.Font.Size :=22;
//子节点
    nodeList := XMLDocument1.DocumentElement.ChildNodes;
    num := nodeList.Count;
    For i := 0 To num - 1 Do
    Begin
        Item2 := TTreeviewItem.Create(Self);
        Item2.Parent := Item;
        Item2.Text := nodeList[i].Attributes['职务'];
//子元素的属性
        Item3 := TTreeviewItem.Create(Self);
        Item3.Parent := Item2;
        Item3.Text := nodeList[i].ChildValues['姓名'];
        Item3 := TTreeviewItem.Create(Self);
        Item3.Parent := Item2;
        Item3.Text := nodeList[i].ChildValues['性别'];
        Item3 := TTreeviewItem.Create(Self);
        Item3.Parent := Item2;
        Item3.Text := nodeList[i].ChildValues['年龄'];
    End;
End;

这是测试的效果图;

XML解析、使用TreeView呈现效果的更多相关文章

  1. C#关于xml文件和TreeView之间的转换解析

    主窗体: using System; using System.Collections; using System.Collections.Generic; using System.Componen ...

  2. JSON解析和XML解析对比

    JSON解析和XML解析是较为普遍的两种解析方式,其中JSON解析的市场分额更大.本文系统的分析两种解析方式的区别,为更好地处理数据作准备.由于目前阶段主要是做移动开发,所以本文所描述的JSON解析和 ...

  3. 【Android】实现XML解析的几种技术

    本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能. 在 ...

  4. XML解析之DOM详解及与SAX解析方法的比较

    XML解析(DOM) XML文件解析方法介绍 我们所用到的NSXMLParser是采用SAX方法解析 SAX(Simple API for XML) 只能读,不能修改,只能顺序访问,适合解析大型XML ...

  5. 网络热恋之XML解析

    XML 可扩展标记语言 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言 易读性高,编码手写难度小,数据量大 NSXMLPars ...

  6. xml解析模块

    XML XML是可扩展标记语言的缩写,是实现不同语言或程序之间进行数据交换的协议,主要可以对key添加属性. 页面做展示(字符类型的一个xml格式数据)\做配置文件(内部xml格式的数据).,每一个节 ...

  7. IOS-JSON & XML解析

    XML & JSON 简介 •JSON –作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式 –基于JavaScript的一个子集 –易读性略差,编码手写难度大,数据量小 ...

  8. android XMl 解析神奇xstream 二: 把对象转换成xml

    前言:对xstream不理解的请看:android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 1.Javabeen 代码 packa ...

  9. IOS 网络浅析-(五 xml解析)

    XML 可扩展标记语言 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言 易读性高,编码手写难度小,数据量大 NSXMLPars ...

随机推荐

  1. ionic

    ionic是一个用来开发混合手机应用的,开源的,免费的代码库.可以优化html.css和js的性能,构建高效的应用程序,而且还可以用于构建Sass和AngularJS的优化.ionic会是一个可以信赖 ...

  2. SQL Server 数据库的维护(三)__事务(transaction)和锁

    --维护数据库-- --事务(transaction)和锁-- --事务(transaction)-- --概述: 事务是指封装了一组T-SQL语句的单个逻辑单元.单元中的所有语句作为一个整体,在满足 ...

  3. Roguelike 相关知识

    here is the link here

  4. 如何在Android Studio中添加RecyclerView-v7支持包

    1.打开SDK Manager,在Extras树下找到Android Support Library,下载好支持包.RecyclerView在v7-21版本就出来了.我这里不用更新了,说明是最新的,怎 ...

  5. Halcon学习之条形码实时扫描

    dev_open_window(1,1,400,400,'blue',ThisHandle) create_bar_code_model([], [], BarCodeHandle) set_bar_ ...

  6. iOS之UILabel自适应高度、宽度

    下列两条自适应高度和宽度的自定义方法:

  7. position:absolute绝对定位解读

    position:absolute绝对定位解读  摘要   用四段代码解释absolute的定位问题,进而从概念的角度切实解决html布局问题. 一.背景 常常遇到这样一些问题,很容易混淆.“浏览器屏 ...

  8. String.prototype运用

    1.去掉字符串前后空格 String.prototype.ltrim = function () { return this.replace(/^\s+/, ""); } Stri ...

  9. 比较两个NSDate类型的参数相差的时间差

    +(NSInteger)getDaysFrom:(NSDate *)serverDate To:(NSDate *)endDate { NSCalendar *gregorian = [[NSCale ...

  10. linux crontab

    概念: Linux 工作排程的种类:at, cron at 是个可以处理仅执行一次就结束排程的指令,不过要执行 at 时, 必须要有 atd 这个服务支持. crontab 这个指令所设定的工作将会循 ...