`
橙色星期五
  • 浏览: 5159 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

SAX解析及SAX和DOM总结

    博客分类:
  • XML
xml 
阅读更多
DOM解析器是将XML文档解析成树状模型并放入内存来完成解析工作的,而后对文档的操作都是在这个树状模型上完成的。这样做的好处是结构清楚,操作方便。
缺点极其耗费系统资源。不适用于解析超大型的XML文件。

SAX解析器是通读整个文档,根据文档内容产生事件,而把对这些事件的处理交由事件处理器处理。SAX不需要在内存中保存整个文档,它非常节省系统资源。适用于处理超大型的XML文件。
代码示例:
//创建一个解析器工厂对象
SAXParserFactory spf = SAXParserFactory.newInstance();
    try {
         //创建sax解析器
SAXParser sp = spf.newSAXParser();

MyParseListener mpl = new MyParseListener();

XMLReader xr = sp.getXMLReader();
xr.setContentHandler(mpl);

File myfile = new File("src/com/newer/myparse/demo/student.xml");
xr.parse(new InputSource(new FileInputStream(myfile)));

List<Student> all = mpl.getAllStus();

for (Student student : all) {
System.out.println("学生姓名"+student.getStuName());
}
} catch (Exception e) {
e.printStackTrace();
}
}
分享到:
评论

相关推荐

    dom解析和sax解析

    DOM(Document Object Model)解析和SAX(Simple API for XML)解析是两种常见的XML文档解析方式...综上所述,DOM和SAX解析各有优劣,适用于不同的场景。在实际开发中,应根据项目需求和资源限制来选择合适的解析策略。

    dom4j下sax解析xml

    总结起来,dom4j库提供了DOM和SAX两种XML解析方式,而SAX解析在处理大文件时具有性能优势。通过注册事件处理器,开发者可以在解析过程中动态响应XML结构,实现灵活的数据处理。在实际工作中,选择合适的解析方法取决...

    dom+dom4J+SAX 解析

    在“testPaseXML”这个项目中,你可以找到这些解析方法的具体实现,包括如何使用DOM创建和解析XML,如何利用DOM4J进行更高效的处理,以及如何运用SAX解析大文件。通过学习和实践这些示例,你可以更好地理解XML处理的...

    XML-java.rar_XML SAX_sax_sax xml_sax 解析 xml_xml using dom

    - 可能还包括对比DOM和SAX解析的性能测试,以及在不同场景下选择哪种解析方式的建议。 通过学习这些示例,开发者可以更好地理解XML解析原理,熟练掌握Java处理XML的技巧,提升软件开发中的数据处理能力。

    XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较,超详细

    常见的 XML 解析器有 DOM、SAX、JDOM 和 DOM4J 等。每种解析器都有其特点和优缺,选择合适的解析器对应用程序的性能和开发效率有很大影响。 1. DOM 解析器 DOM(Document Object Model)是 W3C 官方标准,用于表示...

    DOM和SAX解析XML文档

    SAX解析的特点包括: 1. 流式处理:SAX不保存整个文档,只按需处理,节省内存。 2. 低资源消耗:适用于处理大文件或有限的内存环境。 3. 非交互性:无法随意访问文档的任何部分,只能按照读取顺序处理。 4. 适合大...

    Sax解析XML文件解析

    总结,SAX解析XML是一种高效且节省内存的处理方式,适用于处理大量XML数据。通过实现回调接口,我们可以根据XML文档的结构执行相应的操作,而无需一次性加载整个文件。了解并熟练掌握SAX解析技术,有助于我们在处理...

    SAX解析XML文件实例

    一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml文件的实例

    dom和sax对xml的解析

    本篇文章将详细介绍DOM和SAX解析XML的方法,并通过提供的`DomDemo.java`和`SaxDemo.java`示例代码进行阐述。 1. DOM解析: DOM是一种将整个XML文档加载到内存中,构建一个树形结构的解析方式。这种方式允许开发者...

    dom4j下的sax解析xml

    DOM4J库是Java中广泛使用的XML处理工具,它提供了SAX解析XML的功能。SAX(Simple API for XML)是一种事件驱动的解析器,适用于处理大型XML文档,因为它不需要将整个文档加载到内存中,因此在处理大文件时比DOM...

    Dom4J与SAX解析实例

    SAX解析器采用事件驱动的方式,逐行读取XML文件,遇到元素开始、结束、属性等事件时触发回调函数。这种方式内存效率高,适合处理大文件,但不便于随机访问。 1. **SAX解析流程**:创建`SAXParserFactory`,设置解析...

    sax解析xml文件

    相较于DOM(Document Object Model)解析器,SAX解析器占用更少的内存和处理时间,因为它不会一次性加载整个XML文档到内存,而是采用事件驱动的方式逐个处理XML元素。在本项目中,"saxloadxml"应该是实现了一个SAX...

    XML的两种解析sax和dom

    在提供的压缩包中,`sax.rar`可能包含了使用SAX解析XML的示例代码,而`dom.rar`可能包含DOM解析的示例。学习这些代码可以帮助理解两种解析方式的具体实现和使用方法。对于开发者来说,理解和掌握SAX与DOM的差异和...

    JDK自带xml解析器dom+sax

    代码示例中没有给出完整的SAX解析器实现,但通常会包括`SAXParserFactory`创建`SAXParser`,然后使用`parse`方法解析XML文件,并传入自定义的`DefaultHandler`子类实例。 总结: DOM解析器适合对XML文档进行随机...

    jsp操作xml源码,解析器为DOM和SAX

    在IT行业中,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,因其结构清晰、...对于初学者来说,这是一个很好的起点,可以结合实际项目需求,灵活运用DOM和SAX解析XML,提升自己的编程能力。

    XML解析实践之DOM解析和SAX解析.rar

    Python中,有ElementTree库支持DOM和SAX解析。 2. 错误处理:在解析过程中,要捕获并处理可能出现的异常,如XML格式错误、网络问题等。 3. 性能优化:对于大型XML文件,若使用DOM解析,可以考虑分块读取或使用SAX...

    XML_DOM_SAX.rar_ XML_DOM_SAX_c# sax_dom解析xml_xml parser csharp_x

    在这个"XML_DOM_SAX.rar"压缩包中,包含了可能的C#代码示例,用于演示如何使用DOM和SAX解析XML。`www.pudn.com.txt`可能是包含相关资源链接的文本文件,而`XML_DOM&SAX`可能是包含C#代码的文件,可以解压后查看具体...

    Servlet利用SAX解析XML文档

    在处理XML数据时,SAX...总结来说,Servlet结合SAX解析XML是一种有效的处理方式,尤其在处理大量XML数据时,能够提供良好的性能和资源管理。正确理解和使用这一技术,可以帮助你构建更高效、更健壮的Java Web应用。

    android使用SAX解析xml

    本篇文章将详细介绍如何在Android环境中使用SAX解析器来处理从网络获取的XML文件。 1. **XML与SAX解析基础** - XML是一种结构化的文本数据表示方式,它定义了标签、属性等规则,使数据具有自解释性。 - SAX解析器...

Global site tag (gtag.js) - Google Analytics