文档章节

NativeXml (4):认识根节点

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 188
阅读 4
收藏 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
我的KT库之-----缓存与配置

了解或者认识KT: http://www.cnblogs.com/kingthy/archive/2011/08/08/2130973.html 在项目中如何使用KT? KT是一个库,所以将KT的dll文件引用到您的项目上即可使用KT里的函数功能。 本节将...

吞吞吐吐的
2017/09/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

咕泡-Factory设计模式笔记

个人感悟: 设计模式都是处理复杂问题的,如果问题本身很简单,使用设计模式反而累赘,增加了开发的复杂性 遇到最简单的情况,直接 new 如果创建对象的过程简单,但是需要匹配不同情况,返回...

职业搬砖20年
20分钟前
0
0
Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏...

Funcy1122
28分钟前
0
0
Ansible随机数

想为你的Ansible剧本取一个随机数?还想在接下来的运行中保持系统的等幂性?这里有一个答案。 假如,你要为一大批服务器设置cron任务,却不想让它们同时启动,你可以这样设置分钟数: minute...

大别阿郎
38分钟前
0
0
SpringCloud之服务注册中心Eureka

本系列介绍的配置均基于 Spring Boot 2.0.1.RELEASE 版本和 Spring Cloud Finchley.SR1 服务注册中心 Spring Cloud 已经帮我们实现了服务注册中心,我们只需要很简单的几个步骤就可以完成。 ...

熊小飞呀
今天
9
1
“Comparison method violates ...”异常的再现方法

前提条件:JDK8 代码: import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public stat......

hunterli
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部