`
suky
  • 浏览: 146952 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

Java解析XML文档(二):sax读取xml文件导出excel

    博客分类:
  • J2ME
阅读更多

一.概念
SAX (Simple API for XML),基于事件的XML简单API,也是解析XML文档的两种API之一。

二.sax解析

1.使用到的包:

javax.xml.parsers:解析器工厂工具
org.xml.sax :提供了核心 SAX API


例如:
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;


2.解析流程

首先构建我们的解析器,需要继承org.xml.sax.helpers.DefaultHandler类,覆盖其中的方法。接着获取SAX工厂对象,从此工厂中获取SAX解析,将解析器和解析对象(xml文件)联系起来,开始解析,最后获取解析成功后的属性即可。

补充说明:
在对读入的xml文件进行解析时,当读到相应的内容,会抛出对应的事件,由ContentHandler调用其相应的方法进行响应。DefaultHandler实现了此接口ContentHandler,所以DefaultHandler才作为SAX2 事件处理程序的默认基类。

常用到的方法:
(1)characters(char[] ch, int start, int length)

    接收元素中字符数据的通知,可以在此方法中,将<xxx></xxx>之间的值加入到属性中。

(2)startElement(String uri, String localName, String qName, Attributes attributes)
     接收元素开始的通知,参数中的uri就是名域, localName是标签名,qName是标签的修饰前缀,attributes是这个标签所包含的属性列表。

(3)endElement(String uri, String localName, String qName)
     接收元素结束的通知。

3.导出EXCEL

jxl.jar :提供了java操作excel表格的工具类库

例如:

import jxl.*;   
import jxl.write.*;
import jxl.write.Number;

代码参考:

WritableWorkbook plan = Workbook.createWorkbook(new File("plan.xls"));  
 

//创建第一分页,从0开始

                
WritableSheet sheet = book.createSheet("name1", 0); 


//参数分别为:列,行,值,此表示填充第1列第1行的单元格,下标从0开始


sheet.addCell(new Label(0, 0, "TYPE_ID")); 

...

plan.write();   
plan.close();

 

4. 实例代码

参考附件。

       






  • jxl.jar (708.7 KB)
  • 下载次数: 111
分享到:
评论

相关推荐

    java导入导出xml文件

    3. StAX解析:使用`XMLInputFactory`创建`XMLStreamReader`,然后逐个读取XML事件,如`StartElement`, `Characters`, `EndElement`等。StAX允许程序员控制解析过程,适合流式处理和低内存应用。 对于导出XML文件,...

    java xml excel文件导入导出

    SAX解析器在读取XML时触发事件,如开始元素、结束元素等。 4. **StAX(Streaming API for XML)**:与SAX类似,StAX也是基于流的解析,但提供了一种更灵活的编程模型,允许开发者通过迭代器主动推进解析过程。 三...

    读取xml导出为excel

    总结来说,从XML文件读取数据并导出到Excel文件,首先需要选择合适的XML解析器,如SAX,因为它适用于处理大型XML文件。然后,利用SAX解析XML,将解析到的数据存储在适当的数据结构中,如列表或DataFrame。最后,通过...

    XML文件导出为本地excel文件

    在Java中,`Apache POI`库提供了类似的接口,可以读取XML数据并创建Excel工作簿: ```java import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.w3c.dom.Document; import javax.xml.parsers....

    易语言 xml解析 易语言 xml解析 教程 带源码

    SAX解析器则是事件驱动的,逐行读取XML,适合处理大型文件。 3. **DOM解析**:使用DOM解析,我们可以获取XML文档的节点信息,包括根节点、子节点、属性等,并能对它们进行操作。例如,通过`创建XML文档对象`、`加载...

    使用Sax方法读XML文档:SaxReaderXML.zip

    标题“使用Sax方法读XML文档:SaxReaderXML.zip”指出,这个压缩包包含了一个关于如何使用SAX解析器来读取XML文档的示例。SAX解析器的工作方式是,当解析到XML文档中的某个元素、属性或文本时,会触发相应的事件,...

    Java Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    1. **解析XML文件**:使用Java的DOM(Document Object Model)、SAX(Simple API for XML)或StaX(Streaming API for XML)等解析器读取XML文件并获取数据。DOM将整个XML文档加载到内存中,适合小文件;SAX和StaX则...

    java导出excel、xml

    而对于简单的XML导出,DOM可能过于资源密集,而SAX或StAX(Streaming API for XML)更为高效。记住,处理这些文件时,始终要关注性能优化,尤其是在大数据量的情况下。 以上就是关于Java如何导出Excel和XML的基本...

    XML文件导出Excel(xmlToExcel)示例源码

    此外,对于大型XML文件,可能需要优化处理流程以提高性能,如分块读取XML、异步处理等。 9. **用户体验**:在Web应用中,用户界面设计和反馈机制也很重要。用户应能方便地上传XML文件,查看转换进度,并能下载生成...

    java通过xml导出word和excell例子

    总的来说,Java通过XML导出Word和Excel是一种灵活且可扩展的方法,它允许开发人员以结构化的方式处理数据,便于数据交换和跨平台兼容。通过Apache POI和其他相关库,开发者能够高效地生成和导出符合特定需求的文档。

    解析Excel和XML

    2. **CSV转换**:Excel文件可以被导出为CSV(逗号分隔值)格式,这是一种通用的数据交换格式,可被许多编程语言轻松处理。 3. **命令行工具**:如`xlsx2csv`允许通过命令行将Excel文件转换为CSV。 **XML解析** XML...

    以读取XML方式的大批量导入Excel

    2. **XML解析**:使用StAX或类似的API读取XML文件,逐个处理数据项,减少内存占用。 3. **数据处理**:根据业务需求,对解析出来的数据进行验证、计算、过滤等操作。 4. **数据写入Excel**:创建新的Excel工作表,...

    xml的导入导出(java)

    1. **解析XML文件**:Java提供了多种解析器来读取XML文件,如DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)。DOM解析器会将整个XML文档加载到内存中,适合小型文件;SAX...

    mxGraph插件,java代码xml导出成图片

    1. **解析XML**:使用Java的DOM或SAX解析器读取XML数据,将其转化为jGraphX可以理解的对象模型。 2. **创建图形模型**:根据解析的XML,用jGraphX创建相应的GraphModel,这个模型包含了图形的所有元素(节点、边、...

    xml sax解析

    SAX解析的核心思想是读取XML文档时,每当遇到一个元素、属性、文本等结构,都会触发一个相应的事件,然后通过回调函数来处理这些事件。这种方式非常适合处理大型XML文档,因为它不需要一次性将整个文档加载到内存中...

    PB11.5解析XML实例

    相比之下,SAX解析器采用事件驱动的方式,逐行读取XML文档,当遇到元素、属性或其他XML结构时触发相应的事件。这种方式对内存的要求较低,适合处理大型XML文件。但是,由于数据不是以对象形式存储,处理起来可能稍显...

    XML阅读器(可导出txt&excel;)

    XML解析器读取XML文档,并将其转换为易于处理的数据结构,如DOM(Document Object Model)或SAX(Simple API for XML)。在这个应用中,可能采用了MSXML2库,这是Microsoft提供的一个用于解析和操作XML的组件。 2. ...

    java实现解析从中国知网上导出的EndNote、NoteExpresss、NoteFirst、Refworks格式的文件

    在Java中解析这些文件,我们可以利用XML解析库,如DOM(Document Object Model)、SAX(Simple API for XML)或者JAXB(Java Architecture for XML Binding)。DOM解析器会将整个XML文件加载到内存中,形成一个树形...

    NXopen二次开发将读取xml文件函数封装为dll方便调用

    本案例中,我们关注的是使用NXopen工具包进行的二次开发,目的是将读取XML文件的函数封装到一个动态链接库(DLL)中,以便于其他程序便捷地调用。下面将详细介绍这一过程及其相关知识点。 首先,我们需要了解XML...

Global site tag (gtag.js) - Google Analytics