`

XML PULL PUSH技术的区别

阅读更多
PULL跟SAX虽然都是基于事件的,但是两者最重要的区别应该是:

SAX可以认为是“PUSH“的,跟PULL相对。因为Parser在遇到特定事件源的时候会将数据传递给回调函数来处理,从这个意义上讲数据是”推送“给用户的,而PULL方式是遇到特定事件时由用户去从Parser中获取自己感兴趣的,感觉数据像是”拉“下来的。

还有一个区别是:在PULL式解析过程中(while循环里),可以退出循环;但是在SAX过程中,一旦开始解析就要解析完成。

另外,稍微扩展下:
目前主要存在两种解析和生成原理,一种是通过反射来匹配类名、属性名等信息,一种是直接使用jvm的字节码来进行操作,这两种方式的效率高下不言而喻,自然是二进制字节码效率更高。
分享到:
评论

相关推荐

    PullXML和Json

    本文将详细探讨"PullXML"和"Json读写解析",并结合提供的压缩包文件名,主要关注Android平台上的实现。 XML(eXtensible Markup Language)是一种标记语言,用于描述数据结构和内容。它具有严格的语法规则,允许...

    使用Pull解析xml文件

    PULL解析器的操作模式是拉(Pull)而非推(Push),意味着开发者主动控制解析过程,可以根据事件进行处理,而不需要整个文档加载到内存。 2. **PULL解析器的工作原理** PULL解析器通过一系列的`next()`调用来逐个...

    论文:实例对比push 和pull

    - **结论**:通过实验验证,Push技术相较于Pull技术在提高用户体验方面具有明显优势,尤其是在对实时性要求较高的场景下。然而,两种技术的选择还需要综合考虑应用的具体需求、资源限制等因素。 - **展望**:未来的...

    水晶报表Pull和Push实例源码

    本实例源码主要探讨的是水晶报表中的Pull和Push两种数据获取模式,这对于理解和掌握水晶报表的使用至关重要。 首先,我们来了解Pull和Push这两种数据检索策略: 1. Pull模式(拉取模式):在这种模式下,水晶报表...

    DIXML v5.9.0 for D6-XE10.1 XML XSLT EXSLT 解析

    XML and HTML reading and writing, pull and push parser modes. XML and HTML document tree creation, traversal, load, and save. SAX and extended reader interfaces. DTD and schema validation. Encoding ...

    Android代码-react-native-push-notification

    NOTE: For Android, you will still have to manually update the AndroidManifest.xml (as below) in order to use Scheduled Notifications. Issues Having a problem? Read the troubleshooting guide before ...

    DIXml v4.0.0 D6-XE3 Full Source + Demo

    XML and HTML reading and writing, pull and push parser modes. XML and HTML document tree creation, traversal, load, and save. SAX interface. DTD validation. Encoding support for UTF-8, UTF-16, ISO-...

    oodt-pushpull-plugins

    将该 Jar 文件放入 $PUSHPULL_HOME/lib,然后在 PushPull ProtocolFactoryInfo.xml 文件(位于 $PUSHPULL_HOME/policy 目录中)中引用新的 ftp 插件(Ftp4CheFtpClientFactory 和 JvFtpClientFactory)。...

    Pull解析网络数据

    总的来说,"Pull解析网络数据"是一个关于如何在Android或其他平台上使用Pull解析技术来获取和处理网络数据的主题,涵盖了网络请求、数据解析和资源管理等多个方面,对于移动应用开发者来说是非常重要的技能。

    php xmlReader & xmlWriter

    `xmlReader`是一个基于事件的XML解析器,它采用拉取(pull)模式进行操作。相比于传统的推入(push)模式解析器(如SAX),`xmlReader`允许用户更自由地控制解析流程。这使得`xmlReader`在处理大型或复杂的XML文档时...

    Server Push入门介绍

    ### Server Push 技术入门详解 #### 一、Server Push 技术概述 **Server Push**,即服务器推送技术,是一种让服务器能够主动向客户端发送数据的技术。与传统的客户端发起请求(Client Pull)的方式不同,Server ...

    SSH Project

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。...因此,这个"SSH Project"对于初学者来说是一个宝贵的实战练习资源,可以帮助他们更好地理解和应用这些技术。

    服务器推送技术资料 server push

    服务器推送技术,也称为Server Push,是Web开发中一种创新的通信模式,旨在解决传统HTTP协议下服务器无法主动向客户端发送信息的问题。该技术源于Ajax技术的广泛应用,它改变了Web应用仅能通过用户触发请求获取数据...

    有用的Java工具—XML解析工具StAx

    1. **解析XML(Pull解析器)**:在Java中,我们使用`javax.xml.stream.XMLInputFactory`创建一个输入工厂,然后使用`createXMLStreamReader()`方法创建XML流读取器。通过读取器,我们可以遍历XML事件,如`...

    服务器推--DWR中的push机制-Reverse_Ajax.docx

    在Web开发中,传统的Ajax技术主要是基于“拉”(Pull)模型,即浏览器(Browser)发起请求,服务器(Server)被动响应。然而,这种模型无法满足实时性需求,例如股票行情、即时聊天等应用场景。为了解决这一问题,...

    Android 使用Pull方法解析XML文件的方法

    Pull解析方法给应用程序完全的控制文档该怎么样被解析。Android中对Pull方法提供了支持的API,主要是 代码如下:org.xmlpull.v1....可以看到它与Push方法的不同,Push方法是由Parser自己主动产生Event,回调给应用程序。

    java四种方式操作xml的代码

    与SAX不同,StAX允许双向导航:向前读取(pull parsing)和向后生成(push parsing)。在读取模式下,`XMLStreamReader`会逐个事件地提供XML内容;在生成模式下,`XMLEventWriter`用于构建XML事件流。 4. JDOM解析...

    基于短信网关WAP推送的实现

    与传统的“拉”(PULL)技术相比,WAP PUSH技术的核心特点在于服务器端的主动性与信息传递的即时性。这种技术的优势在于能够确保用户在任何时候、任何地点都能接收到关键信息。 在固定网络中,用户拥有足够的资源和...

    xstream.rar

    3. **XPP3**: XPP3(XML Pull Parser 3)是一个基于事件驱动的XML解析器,它提供了一个API,允许开发者通过拉动(pulling)方式处理XML文档,而不是通过DOM或SAX的推(push)方式。XPP3_min-1.1.4c.jar是XPP3的一个...

    基于Android的火车时刻表查询系统的设计与实现.doc

    数据同步可以使用 Pull 方法或 Push 方法来实现,Pull 方法是客户端主动请求服务器端的数据,而 Push 方法是服务器端主动推送数据到客户端。 知识点4:Android 平台上地图定位 Android 平台上地图定位是指使用 GPS...

Global site tag (gtag.js) - Google Analytics