文档章节

NativeXml (5):事件

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 197
阅读 9
收藏 0

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, NativeXml{!};

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    procedure XmlEvent(Sender: TObject; ANode: TXmlNode); //TsdXmlNodeEvent 事件
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

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

{测试 OnNodeNew 事件:开始载入节点时发生}
procedure TForm1.Button1Click(Sender: TObject);
var
  xml: TNativeXml;
begin
  Memo1.Clear;
  xml := TNativeXml.Create(nil);
  xml.OnNodeNew := XmlEvent;
  xml.LoadFromFile(xmlFile);
  xml.Free;
end;

{测试 OnNodeLoaded 事件:节点载入完成时发生}
procedure TForm1.Button2Click(Sender: TObject);
var
  xml: TNativeXml;
begin
  Memo1.Clear;
  xml := TNativeXml.Create(nil);
  xml.OnNodeLoaded := XmlEvent;
  xml.LoadFromFile(xmlFile);
  xml.Free;
end;

{将被调用的事件, OnNodeNew 和 OnNodeLoaded 事件的参数格式是一样的}
procedure TForm1.XmlEvent(Sender: TObject; ANode: TXmlNode);
var
  depth: string;
begin
  if ANode.ElementType = xeElement then         //xeElement 是 TsdElementType 枚举的类型之一
  begin
    depth := StringOfChar(#9, ANode.TreeDepth); //TreeDepth 是节点深度
    Memo1.Lines.Add(depth + ANode.Name);
  end;
end;

end.

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

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
最全面的常用Delphi第三方控件汇总—报表、图表、界面、数据库等

有网友问我常用Delphi第三方控件及功能。我先大概整理一下,以后会在文章里面碰到时再仔细介绍。 报表图表方面: TeeChart Pro 在delphi 的图形显示方面目前唯一的选择,虽然从delphi 3 就随...

Leamontea
2012/12/03
0
2
Delphi开源组件库--QDAC

QDAC 是由 QDAC 开发组为大家提供的一套 Delphi/C++ Builder 跨平台开源组件库,名称取自英文 Quick Data Access Components 的首字母。它支持 Delphi/C++ Builder 2007 以上的版本的开发环境...

swish
2015/11/23
1K
0
Android RxJava:一文带你全面了解 背压策略

前言 ,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 开发者的欢迎。 本文主要讲解的是中的 背压控制策略,希望你们会喜欢。 目录 1. 引言 1.1 背景 观察者 & 被观察者...

丁佳辉
08/28
0
0
通过案例学调优之--模拟buffer busy waits事件

buffer busy waits等待事件 Solutions: 案例分析: 1、建立测试表 2、session 1做事务处理 3、session 2做事务处理 4、查看会话等待事件 如果事务在运行过程中可以访v$sessionwait,如果事务...

余二五
2017/11/15
0
0
HTML5事件属性

HTML5元素可拥有事件属性,这些属性在浏览器中触发行为,比如当用户单击一个HTML5元素时启动一段JavaScript.下面列出的事件属性,可以把它们插入HTML标签来定义事件行为。 HTML5中的新事件属性:...

凉亭-月下殇
2016/11/07
9
0

没有更多内容

加载失败,请刷新页面

加载更多

《碎玉投珠》的读后感想法心得范文3800字

《碎玉投珠》的读后感想法心得范文3800字: 《碎玉投珠》是晋江作者北南2018年的作品,内容主要讲述了其17年的《两小无嫌猜》中副cp师父师叔的爱情故事。 个人并没有看过北南其他的作品,这篇...

原创小博客
14分钟前
0
0
Confluence 6 文档主题合并问答

在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用。我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将这个主题...

honeymose
26分钟前
2
0
java框架学习日志-2

上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又是什么? 控制其实就是控制对象的创建。 反转与正转对应,正转...

白话
今天
5
0
Integer使用双等号比较会发生什么

话不多说,根据以下程序运行,打印的结果为什么不同? Integer a = 100;Integer b = 100;System.out.println(a == b);//print : trueInteger a = 200;Integer b = 200;System.out.pr...

兜兜毛毛
昨天
11
0
CockroachDB

百度云上的CockroachDB 云数据库 帮助文档 > 产品文档 > CockroachDB 云数据库 > 产品描述 开源NewSQL – CockroachDB在百度内部的应用与实践 嘉宾演讲视频及PPT回顾:http://suo.im/5bnORh ...

miaojiangmin
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部