文档章节

NativeXml (4):认识根节点

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 188
阅读 5
收藏 0

uses NativeXml;

const
  xmlFile = 'C:\Temp\xml_test_files\basic.xml'; //测试文件

var
  xml: TNativeXml;

procedure TForm1.FormCreate(Sender: TObject);
begin
  xml := TNativeXml.Create(nil);
  xml.LoadFromFile(xmlFile);
end;

{获取根节点的类名及类的继承关系}
procedure TForm1.Button1Click(Sender: TObject);
var
  str: string;
  myClass: TClass;
begin
  ShowMessage(xml.Root.ClassName); //TsdElement

  str := '';
  myClass := xml.Root.ClassType;
  while myClass <> nil do
  begin
    if str <> '' then str := ' > ' + str;
    str := myClass.ClassName + str;
    myClass := myClass.ClassParent;
  end;
  ShowMessage(str); //TObject > TPersistent > TDebugPersistent > TXmlNode > TsdContainerNode > TsdElement
end;

{根节点的名称与内容}
procedure TForm1.Button2Click(Sender: TObject);
var
  root: TsdElement;
begin
  root := xml.Root;
  ShowMessage(root.Name);            //名称
  ShowMessage(root.ElementTypeName); //类型名称
  ShowMessage(root.WriteToString);   //内容
end;

{其子成员}
procedure TForm1.Button3Click(Sender: TObject);
var
  root: TsdElement;
  i: Integer;
begin
  root := xml.Root;
  ShowMessage(IntToStr(root.AttributeCount)); //属性总数
  ShowMessage(IntToStr(root.NodeCount));      //子节点数目

  Memo1.Clear;
  for i := 0 to root.NodeCount - 1 do //遍历子节点
  begin
    Memo1.Lines.Add(root[i].Name + #9 + root[i].Value); // root[i] = root.Nodes[i]
  end;
end;

本文转载自:http://www.cnblogs.com/del/archive/2011/03/24/1994029.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
【计算机本科补全计划】图的连通性check by 并查集Union Find

正文之前 前几天苦练图论,虽然还不算登堂入室?但是好歹还是懂了好几个概念,今天就讲讲我最开始认识的一个,很棒的检查图的连通性的算法--并查集!!! 正文 具体的想法来自一篇写的超好的...

HustWolf
2017/12/03
0
0
初探数据结构之“树”的定义和二叉树定义及性质

这周学习了数据结构中的树,看了郝斌的数据结构视频。。。虽然讲的很浅很浅但是对于我这么笨的人来说刚好能看懂。又通过小组学姐的讲解对树有了一个初步的认识,现在将学到的知识总结一下=、...

Jung_zhang
2015/08/02
0
0
数据结构与算法(3)——树(二叉、二叉搜索树)

前言:题图无关,现在开始来学习学习树相关的知识 前序文章: 数据结构与算法(1)——数组与链表(https://www.jianshu.com/p/7b93b3570875) 数据结构与算法(2)——栈和队列(https://www.ji...

我没有三颗心脏
07/11
0
0
重温数据结构:理解 B 树、B+ 树特点及使用场景

读完本文你将了解: 大家好,前面那篇文章《3 分钟理解完全二叉树、平衡二叉树、二叉查找树》中我们了解了几种特殊的二叉树的功能及特点,知道了它们在进行查找数据时可以提高效率,但需要注...

u011240877
05/29
0
0
小蚂蚁学习数据结构(22)——哈夫曼编码的认识

赫夫曼树(Huffman)——带权路径长度最短的树(又称最优树) 定义: 路径: 从树中一个结点到另一个结点之间的分支构成这两个结点间的路径 路径长度: 路径上的分支数 树的路径长度: 从树根...

嗜学如命的小蚂蚁
2016/01/22
70
0

没有更多内容

加载失败,请刷新页面

加载更多

Coding and Paper Letter(三十九)

资源整理。 1 Coding: 1.Python库benchmark rio s3,用于在访问S3上的文件时对Rasterio / GDAL的多线程性能进行基准测试的工具。 benchmark rio s3 2.Pangeo-Binder Cookiecutter模板。 cook...

胖胖雕
38分钟前
2
0
Promise 对象

Promise(承诺) 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供...

简心
41分钟前
1
0
让UI设计师崩溃的瞬间,你经历过哪些?

隔行如隔山,这句话人人耳熟能详,但其实隔行并不可怕,大家各谋其事,各尽其职,倒也互不打扰,真正可怕的是,是内行还要受外行指点江山,而最难的部分,便是那沟通。流畅的沟通,和声细语,...

mo311
42分钟前
3
0
python进制转换

#进制转换print(bin(10)) #十进制转换成二进制print(oct(10)) #十进制转换成八进制print(hex(10)) #十进制转换成十六进制print(int('1010',2)) #二进制转十进制print(int(...

fadsaa
53分钟前
5
0
syntax error near unexpected token

最近不断重复在虚拟机CentOS测试安装gitlab,因为gitlab有一个脚本需要饭强才能下载,于是我先在windows下载好再上传到虚拟机,可是执行脚本的时候提示“syntax error near unexpected toke...

W_Lu
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部