`
gwshuai
  • 浏览: 55621 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

Streaming API for XML (StAX) 简介

阅读更多

         引用:http://www.ibm.com/developerworks/cn/xml/x-stax1.html?S_TACT=105AGX52&S_CMP=techcsdn

        Streaming API for XML (StAX) 是用 Java™ 语言处理 XML 的最新标准。作为一种面向流的方法,无论从性能还是可用性上都优于其他方法,如 DOM 和 SAX。 

      

StAX 概述

从一开始,Java API for XML Processing (JAXP) 就提供了两种方法来处理 XML:文档对象模型(DOM)方法是用标准的对象模型表示 XML 文档;Simple API for XML (SAX) 方法使用应用程序提供的事件处理程序来处理 XML。JSR-173 提出了一种面向流的新方法:Streaming API for XML (StAX)。其最终版本于 2004 年 3 月发布,并成为了 JAXP 1.4(将包含在即将发布的 Java 6 中)的一部分。

 

 

 XMLStreamReader 解析 XML 文档的完整例子

XMLInputFactory factory = XMLInputFactory.newInstance();XMLStreamReader r = factory.createXMLStreamReader(input);try { int event = r.getEventType(); while (true) { switch (event) { case XMLStreamConstants.START_DOCUMENT: out.println("Start Document."); break; case XMLStreamConstants.START_ELEMENT: out.println("Start Element: " + r.getName()); for(int i = 0, n = r.getAttributeCount(); i < n; ++i) out.println("Attribute: " + r.getAttributeName(i)  + "=" + r.getAttributeValue(i));  break; case XMLStreamConstants.CHARACTERS: if (r.isWhiteSpace()) break;  out.println("Text: " + r.getText()); break; case XMLStreamConstants.END_ELEMENT: out.println("End Element:" + r.getName()); break; case XMLStreamConstants.END_DOCUMENT: out.println("End Document."); break; }  if (!r.hasNext()) break; event = r.next(); }} finally { r.close();}

 



分享到:
评论

相关推荐

    stax2-api-4.2.1.jar

    用来解析XML文件的jar包。Streaming API for XML (StAX) 的基于事件迭代器 API 无论在性能还是在可用性上都有其他 XML 处理方法所不及的独到之处。使用前请先解压

    stax2-api:Stax扩展API,Java拉解析API(针对Xml的Streaming Api)

    Stax2 API是标准 API(“用于Xml处理的STandard Api”)的扩展,它是JDK 6中添加的JDK的pull-parser API。 地位 支持 Stax2 API通过以下Stax XML实现来本地实现: (面向性能,也是非阻塞/异步的) (Java平台上...

    stax2-api-3.1.1.jar

    用来解析XML文件的jar包。Streaming API for XML (StAX) 的基于事件迭代器 API 无论在性能还是在可用性上都有其他 XML 处理方法所不及的独到之处。使用前请先解压

    stax2-api-3.1.1-sources.jar

    stax2-api-3.1.1-sources.jar文件,下载使用,用来解析XML文件的jar包。Streaming API for XML (StAX) 的基于事件迭代器 API 无论在性能还是在可用性上都有其他 XML 处理方法所不及的独到之处。

    Android读写XML.docx

    举例来说,Java 的 Simple API for XML (SAX) 和 Document Object Model (DOM) 在 Android 上都是可用的,这些 API 多年以来一直都是 Java 技术的一部分,较新的 Streaming API for XML (StAX) 在 Android 中并不...

    woodstox-core-asl-4.0.6.jar

    Woodstox是一个快速开源且符合StAX(STreaming Api for Xml processing)规范的XML处理器(相当于写入,序列化)。使用前请先解压一下

    jdk-9.0.1_doc-all 最新版

    Defines the Java API for XML Processing (JAXP), the Streaming API for XML (StAX), the Simple API for XML (SAX), and the W3C Document Object Model (DOM) API. java.xml.bind Defines the Java ...

    fluentxml4j:Java中用于XML解析,序列化,XPath查询和转换的fluent API

    FluentXML4J-Java中XML的流畅API XML解析,序列化XPath查询和转换,无需样板代码 ...通过XPath查询org.w3c.dom.Document以获取String,Boolean,Number,org.w3c.dom.Element或Node,并使用Java 8 Streaming API

    jackson-jar

    受java平台上各种处理xml的类库(StAX, JAXB等)启发,Jackson提供一种处理json的java类库。Jackson的目标是为开发者提供快速、准确、轻量级和用起来最爽的json处理类库。本文将概括介绍Jackson的主要功能和相关功能...

    stac:StAC(用于CSS的流API)

    StAC(CSS的流API)。 在Java中,我们已经有了SAC( ),它是一个类似于SAXCSS推送解析器。 该项目实现了CSS的提取解析API,类似于StAX(XML的Streaming API)。

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    java 面试题 总结

    for(int i=0;i;i++){ Thread t=new Thread(inc); t.start(); t=new Thread(dec); t.start(); } } private synchronized void inc(){ j++; System.out.println(Thread.currentThread().getName()+"-inc:"+j); } ...

    JavaEE 5.0 Tutorial.pdf

    For Sun Java System Application Server 9.1 Contents Preface ...............................................................................................................................................

Global site tag (gtag.js) - Google Analytics