首先用到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. iOS图片编辑功能实现

    图片加标签:标签可以编辑 https://github.com/shumingli/waterMark 1. 编辑效果;图片可以放到.缩小.旋转 2. 保存相册效果

  2. Python: 列表的基本用法

    列表是可变的,可以改变的序列,它能够保存任何数据类型. >>> list = []        #定义一个空列表>>> list.append(1)        ...

  3. 利用nginx来屏蔽指定的user_agent的访问以及根据user_agent做跳转

    对于做国内站的我来说,我不希望国外蜘蛛来访问我的网站,特别是个别垃圾蜘蛛,它们访问特别频繁.这些垃圾流量多了之后,严重浪费服务器的带宽和资源.通过判断user agent,在nginx中禁用这些蜘蛛可 ...

  4. kettle定时任务_第三方合作方有订单自动发送邮件通知_20161214

    由于和第三方合作,需要知道第三方合作方有了订单后通知对方,如果每天查看数据太麻烦了,因此想到了用Kettle定时任务,先判断系统里有没有订单,如果有就执行查询调取订单数据并发送邮件作业,如果没有则不执 ...

  5. RocketMQ与Kafka对比(18项差异)

          转自:https://github.com/alibaba/RocketMQ/wiki/rmq_vs_kafka 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysq ...

  6. 在Win10系统中关闭Hyper-V

    1.将鼠标移至开始图标,单击右键(注意:是右键,不是左键!!!): 2.点击“控制面板”: 3.点击“程序”: 4.点击“启用或关闭windows功能”: 5.去掉“Hyper-V”的勾选,确定:

  7. 郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)(二)kmeans

    (上接第二章) 4.3.1 KMeans 算法流程 算法的过程如下: (1)从N个数据文档随机选取K个文档作为质心 (2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类 (3)重新计 ...

  8. C# 通过代理获取url数据

    public static string doPost(string Url, byte[] postData, SinaCookie bCookie, String encodingFormat, ...

  9. ios 关于状态栏的一些小知识

    一.改变状态栏颜色 状态栏分为两种颜色,默认的是黑色,这里想要改为白色: 分为两步: 第一步:在项目中找到plist文件,添加View controller-based status bar appe ...

  10. MFC通过txt查找文件并进行复制-备忘

    MFC基于对话框的Demo txt中每行一个23位的卡号. 文件夹中包含以卡号命名的图像文件.(fpt或者bmp文件) 要求遍历文件夹,找到txt中卡号所对应的图像文件,并复制出来. VC6.0写的. ...