首先用到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. 新建一个UI窗口-XproerUI(MFC)教程

    版权所有 2009-2015 荆门泽优软件有限公司 保留所有权利 产品首页:http://www.ncmem.com/apps/xproerui/index.asp 在线文档(XproerUI):Xp ...

  2. 获取HTML

    public class GetHtml { public string GetWebRequest(string url) { Uri uri = new Uri(url); WebRequest ...

  3. kendo ui 富文本编辑控件 Editor 实现本地上传图片,并显示

    富文本编辑的组件有很多,大名鼎鼎的KENDO UI中自然也有,但是默认功能中,只能包含网络图片, 而如果要实现本地上传图片,KENDO UI也提供了相应的功能,但必须实现KENDO规定的多个接口, 而 ...

  4. ROW_NUMBER() OVER的用法

    语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)        //PARTITION 分割 一.ROW_NUMBER() OVER ...

  5. 在GMIC听“移动互联网+医疗”的感受 2015-04-29

    “互联网+”这个词挺火的,基本格式是“互联网+传统行业”,比如医疗.教育.交通等等.就更别说电子商务.金融这些领域了,相比已经和互联网分不 开了.在我看来,互联网+的背后,是信息化.智能化.信息沟通的 ...

  6. 定义/修改列时 NULL

    mysql的文档说明: column_definition:     col_name type [NOT NULL | NULL] [DEFAULT default_value]         [ ...

  7. 经典的找不到符号(symbol)错误 #iOS开发

    使用BmobSDK的过程中,编译时出现了以下错误信息,意思是 -[BmobSRWebSocket _innerPumpScanner] 这个方法引用了 "_utf8_nextCharSafe ...

  8. VScode常用几个前端插件live HTML previewer和debugger for chrome的配置

    之前一直都是用sublime Text和chrome配合来写前端的页面,自从知道了有liveReload这个神奇的插件之后感觉爽翻了啊.好吧跑远了........ 话说最近微软搞了个VScode,听说 ...

  9. Frameset 框架集 导航栏 的使用

    在index.jsp中 使用jsp标签转发到制定页面 <body> <jsp:forward page="/admin/frame.jsp"></js ...

  10. python 模拟登录--day1

    ---------------edit-in-windows-by-pycharm---------------------import randomuname = "mologa" ...