个人理财 解析XML事件 - 虚拟人物

解析XML事件 - 虚拟人物

目录:

视频: 13 DOM方式解析XML深入详解 2024

视频: 13 DOM方式解析XML深入详解 2024
Anonim

单词 事件 会唤起各种图像。对于一个非程序员来说,事件就是“发生的事情。 “如果你已经习惯了用Java处理窗口和框架,那么你可能会认为事件是唤醒一段代码的事件。例如,用户的鼠标点击或击键唤醒设置选项的代码并显示OK框。点击或按键本身被称为 事件 ,因为它独立于正在运行的程序而发生。只有用户知道他或她将何时按下该按钮。而当按钮被按下时,Java程序的某个部分就会唤醒并处理这种情况。这种情况被称为 事件驱动的编程 。

<! - 1 - >

事件驱动的编程

SAX程序是 事件驱动的 。例如,你上床睡个好觉。你伸手去设置你的闹钟,然后安顿下来,闭上你的眼睛,并在几个小时内昏迷不醒。然后发生一件重要事件:一天中的某个时间到达。当事件发生时,闹钟会进入“唤醒”模式,并使您感到非常嘈杂,从而使您摆脱安宁的睡眠。

<! - 2 - >

这是另一种情况。你是一个忙碌的行政人员,你会出去几个小时,但你不想错过任何重要的业务。在离开办公室之前,你告诉你的助理:“如果有什么重要的事情要打电话给我。 “发出这个命令就像设置闹钟一样。如果发生事件,你要告诉你的助手(你的闹钟)叫醒你。向助理(或闹钟)发出这个请求叫做 注册 。在任何一种情况下,你都注册一个唤醒服务。注册后,你可以追求自己悠闲的非活动,忽视所有真实的业务,直到发生某些事件。然后…

戒指,戒指你的手机在给你打电话。 “你好? “ “你好。这是你的助手。我有第一季度的销售数字。他们是100万,400万,200万。 “

”我们来看看。总共700万,“你说。 “我会在我的PalmPilot上记下它。谢谢。 “ 你挂了。

几秒钟后,你又接到一个电话。 “大型雄鹿公司的总裁想要完成这笔交易。他们在说1000万美元。 “

<! --1 - >

“唔,”你回应。 “这将使我们今年迄今为止的收入高达17百万美元。我会将这些信息存储在我的电子表格应用程序中。感谢您致电。 “

这些交互中的每一个都被称为

回调 。今天早些时候,当你向助理登记你的愿望时,你要求回电。然后,每当发生事件时,助理都会回电通知您有关事件。在Java编程方面,助手会调用您的许多方法之一(您的一个Java子程序)。 <!事件驱动程序设计的本质

事件驱动程序设计由三部分组成:

注册:

注册您希望在事件发生时得到通知。你用另外一段代码注册了这个愿望 - 另一个对象,通常是你导入的东西(比如一段代码是其他人的API的一部分)。然后这个对象从幕后观看你指定事件的发生。

  • 事件发生:
发生特定事件。
  • 回调: 另一段代码执行回调。你的一个方法被调用。
  • 两种代码 区分

激活

代码和 被动 代码是有用的: 激活代码有一个主要方法。有效代码一旦开始运行,就占据中心舞台。活动代码包含控制整个球赛的执行线程。被动代码就在那里,等待被调用。一个被动的Dice类在别的代码调用Dice之前什么也不做。滚()。 现在,您可能认为被动代码是事件驱动编程所需要的,但事实并非如此。对于事件处理,您需要这个注册步骤。被动代码首先通过注册一些其他的代码。为了巩固这个注册的概念,从鼠标,窗口和按钮的屏幕世界中思考一个例子。您创建一个窗口或框架。你希望你的框架响应鼠标点击,所以你发出以下命令:

  • 按钮。 addMouseListener将(本); 该命令用按钮注册您的框架。该命令实际上说,
  • 每当发生鼠标事件时,请调用其中一个框架的鼠标处理方法 。之后,当用户单击鼠标时,框架会得到一个回调。计算机调用框架的mouseClicked方法。

SAX事件

当然,SAX是事件驱动的,但这并不意味着SAX程序等待鼠标点击。相反,SAX代码遵循最近几段中描述的注册事件回调模型。每个SAX程序都有两个必不可少的代码:

您写的一段代码 - 称为

处理程序 。 (您的处理程序可以扩展一个预先编写的DefaultHandler类。)

处理程序就像前一节中的百万美元执行程序。

一段通常不写的代码 -

  • 解析器 。解析器扮演着行政助理的角色。 Java 1.4 API有一个内置的解析器。你创建这个解析器的一个 实例 ,然后用这个解析器实例注册你的处理器。实际上,当事件发生时,您告诉实例回调您的处理程序。任何与XML有关的东西都是新的,并且还处于不断变化的状态。正因为如此,这个术语是以一些奇特的方式拼凑在一起的。在开发SAX版本2的同时,一些技术人员举行了新的化妆节。通常称为“解析器”的东西包含在名为XMLReader的Java接口中。曾经有一个名为org的类。 XML。萨克斯。解析器,但是这个类已经被
  • 弃用了
  • (这意味着你应该把它从鞋底上刮掉)。为了使事情更复杂一些,还有另外一个解析工具,javax。 XML。解析器。 SAXParser的。你使用这个SAXParser来使自己成为一个XMLReader。运气好的话,你很快就会习惯这个令人费解的术语。现在,请记住,所谓的“解析器”通常是XMLReader的一个实例。 注册和回调场景是使SAX事件驱动的原因。现在有趣的是,一个SAX事件不是有形的。 SAX事件不会提醒您按键或点击按钮。在SAX中,解析器从上到下扫描一个XML文档。每当解析器遇到一些有趣的事情时,解析器就会触发事件并调用处理程序。然后,由处理者来处理这个有趣的事情。

解析XML事件 - 虚拟人物

编辑的选择

特权的基础知识在Oracle 12c - 虚拟机

特权的基础知识在Oracle 12c - 虚拟机

用户可以在Oracle 12c数据库中完成。您可能希望允许用户能够登录,但是您可能需要限制用户是否可以执行以下任一任务:访问某些数据开始...

Oracle 12c恢复管理器(RMAN)目录 - 傻瓜

Oracle 12c恢复管理器(RMAN)目录 - 傻瓜

的基础知识Oracle 12c恢复管理器(RMAN)环境,请考虑恢复目录。恢复目录是所有RMAN配置参数,备份操作和元数据的存储库。该目录可以无限期地存储备份信息。如何在Oracle 12c中选择目录模式RMAN提供了两种用于存储备份数据的选项:NOCATALOG ...

如何验证,查看和关闭Oracle 12c审计 - 傻瓜

如何验证,查看和关闭Oracle 12c审计 - 傻瓜

打开数据库中的审计记录,跟踪您制定的审计,以便您了解所做的事情。幸运的是,Oracle 12c在数据库中提供了一些视图来帮助您跟踪自己的操作:要验证您为审计配置的系统特权,请使用视图AUDIT_UNIFIED_POLICIES。要查看...

编辑的选择

Drupal友好的网页寄存公司 - 傻瓜

Drupal友好的网页寄存公司 - 傻瓜

网页寄存公司为您提供访问Web服务器,您可以在其中安装Drupal并使您的网站在Web上可见。一些公司为您安装Drupal或为您提供一键安装,为您节省了一些工作量。如果您决定自己跳过Drupal的安装,请考虑通过以下方式之一获取帐户...

Drupal花园功能 - 傻瓜

Drupal花园功能 - 傻瓜

让您有机会查看和使用所有Drupal花园功能,可以创建一个新的站点,然后选择自定义选项而不是其中一个已安装的模板:确保已经登录,然后单击我的站点链接。这样做打开了Drupal花园站点经理。点击创建...

Drupal园林主题生成器 - 傻瓜

Drupal园林主题生成器 - 傻瓜

Drupal花园设置完成后,有一些乐趣和玩你的网站上的主题。使用Drupal Gardens Theme Builder控制网站的外观是与安装Drupal自身副本不同的主要方式。但是你不会错过太多...

编辑的选择

更改MYOB中的文本和日期 - 虚拟人物

更改MYOB中的文本和日期 - 虚拟人物

MYOB为您提供了许多快捷方式以帮助简化任务。例如,您可以像在任何文字处理器中那样在MYOB中复制和粘贴文本。以下是快捷方式:按键组合快捷键结果Ctrl-A选择所有高亮显示的文本Ctrl-C复制文本Ctrl-V粘贴文本Ctrl-X删除或剪切文本Ctrl-Z取消最后一位...

在Salesforce中创建视图。当您单击Salesforce中的某个选项卡以访问特定对象(例如“帐户”,“联系人”或“个案”)时,您可以在对象主页上找到自己的服务云 - 虚拟

在Salesforce中创建视图。当您单击Salesforce中的某个选项卡以访问特定对象(例如“帐户”,“联系人”或“个案”)时,您可以在对象主页上找到自己的服务云 - 虚拟

主页,如果你选择案例,如图所示)。案例主页。当您点击Salesforce中的一个选项卡以访问特定的对象(例如,帐户,联系人或个案)时,您可以看到一些较大的,勾勒出的最近案例,报告和矩形的矩形。