文档章节

Delphi 中的 XMLDocument 类详解(17) - 上一个节点、下一个节点、父节点

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 241
阅读 3
收藏 0
点赞 0
评论 0
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;

type
  TForm1 = class(TForm)
    XMLDocument1: TXMLDocument;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
  XMLDocument1.LoadFromFile('c:\temp\test.xml');
  {必须用万一提供的 xml 测试文件, 才能有相同的返回值}
end;


//某节点的上一个节点、下一个节点、父节点
procedure TForm1.Button1Click(Sender: TObject);
var
  node,nodeX: IXMLNode;
begin
  node := XMLDocument1.DocumentElement;
  node := node.ChildNodes[1];
  node := node.ChildNodes[1];
  {现在的节点 node 指向了我们的例子中的第二个人员"李四"}

  ShowMessage(node.ChildNodes[0].NodeValue); {女}

  //获取该节点的上一个节点, 它上一个节点应该是李四的姓名
  nodeX := node.PreviousSibling;  {PreviousSibling}
  ShowMessage(nodeX.NodeValue);   {李四}

  //获取该节点的下一个节点, 它下一个节点应该是李四的年龄
  nodeX := node.NextSibling;      {NextSibling}
  ShowMessage(nodeX.NodeValue);   {43}

  //获取该节点的父节点
  nodeX := node.ParentNode;       {ParentNode}
  ShowMessage(nodeX.NodeName);    {人员}
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/01/06/1027605.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
XPath语法 在C#中使用XPath示例

XPath可以快速定位到Xml中的节点或者属性。XPath语法很简单,但是强大够用,它也是使用xslt的基础知识。 示例Xml:

长平狐 ⋅ 2012/06/08 ⋅ 0

Cocos数据篇[3.4](3) ——XML数据操作

【唠叨】 XML 即 可扩展标记语言,在游戏开发中,常用于保存游戏数据信息,如最高分、游戏等级等信息,和描述一些资源等。 加载动画的plist文件、瓦片地图编辑器到处的地图格式tmx文件,实际...

shahdza ⋅ 2015/02/17 ⋅ 0

js笔记十六之DOM基础-节点

DOM的节点 node: 节点,浏览器认为在一个html页面中的所有内容都是节点(包括标签,注释,文字文本等) 元素节点: html标签 文本节点: 文字内容(高版本浏览器会把空格和换行当做文本节点) 注释节点...

uplyw ⋅ 05/10 ⋅ 0

delphi中VirtualStringTree树使用方法之终结篇!

delphi中VirtualStringTree树使用方法之终结篇 delphi中VirtualStringTree树使用方法之终结篇! 2011-07-01 14:06 VirtualStringTree 的用法详解: 作者:张志宝go淘宝 例子:创建了一个树名...

vga ⋅ 2014/12/31 ⋅ 0

js和jquery获取父级元素、子级元素、兄弟元素的方法

先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 原生的JS获取ID为t...

lwang_IT ⋅ 2017/12/01 ⋅ 0

MBProgressHUD的两个注意点

注意点一 removeFromSuperview Unlinks the receiver from its superview and its window, and removes it from the responder chain. 译:把当前view从它的父view和窗口中移除,同时也把它从......

iNiL0119 ⋅ 2013/11/24 ⋅ 0

C#反射实践续

前回在C#反射实践的文章中,只介绍了利用反射如何把Xml文件中的数据读取设定到类对象的属性中的方法,这回来介绍如何利用反射机制把值对象写入Xml文件的方法 本文介绍的把值对象写入Xml文件的...

长平狐 ⋅ 2012/10/16 ⋅ 0

XmlNode与XmlElement的区别总结

今天在做ASP.NET操作XML文档的过程中,发现了两个类:XmlNode和XmlElement。这两个类的功能极其类似(因为我们一般都是在对Element节点进行操作)。上网搜罗了半天,千篇一律的答案。永远说不...

长平狐 ⋅ 2013/03/28 ⋅ 0

python--通过xpath相对节点位置查找元素(续)

之前写过相对父元素及下一个兄弟元素的方法。 这次补充一下xpath相对节点位置查找元素的所有方法。例子就不举了,自己可以去练练。 xpath相对节点查找方法: 1、xpath('./ancestor::*') 查找...

niedongri ⋅ 05/18 ⋅ 0

.Net那点事儿系列:C#操作Xml:通过XmlDocument读写Xml文档

.Net那点事儿系列:C#操作Xml 什么是Xml? Xml是扩展标记语言的简写,是一种开发的文本格式。关于它的更多情况可以通过w3组织了解http://www.w3.org/TR/1998/REC-xml-19980210。如果你不知道...

长平狐 ⋅ 2012/06/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

x64: TITLE Add and Subtract (AddSub.asm) ; This program adds and subtracts 32-bit integers. ; Last update: 2/1/02 ;.MODEL flat,stdcall x64 not su......

simpower ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 昨天 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 昨天 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 昨天 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 昨天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 昨天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部