`

SAX学习

    博客分类:
  • xml
 
阅读更多

xml:

<people>
  <student id = "123">
    <name>zy</name>
    <age>15</age>
    <address>sichuan</address>
  </student>
 
    <student id = "9988">
    <name>sunyanzi</name>
    <age>15</age>
    <address>xjp</address>34
  </student>
</people>

 **********************用SAX读取XML的数据,将数据封装成一个MAP*********************

public class SaxTest {

 public static void main(String[] args) throws ParserConfigurationException,
   SAXException, IOException {
  SAXParserFactory saxfactory = SAXParserFactory.newInstance();
  SAXParser saxpa = saxfactory.newSAXParser();
  SaxHandler saxHandler = new SaxHandler();
  saxpa.parse("src/SAX/two.xml", saxHandler);

  System.out.println(saxHandler.array);
 }
}

class SaxHandler extends DefaultHandler {
 ArrayList<HashMap<String, String>> array;
 String flag = "";
 int sum = 0;

 public void startDocument() throws SAXException {
  array = new ArrayList<HashMap<String, String>>();
 }

 public void startElement(String uri, String localName, String name,
   Attributes attributes) throws SAXException {
  if ("student".equals(name)) {
   HashMap<String, String> hp = new HashMap<String, String>();
   for (int i = 0; i < attributes.getLength(); i++) {
    hp.put(attributes.getQName(i), attributes.getValue(i));
   }
   array.add(hp);
  }
  flag = name;
 }

 public void characters(char[] ch, int start, int length)
   throws SAXException {
  if (flag.equals("name")) {
   array.get(sum).put("name", new String(ch, start, length));
  } else if (flag.equals("age")) {
   array.get(sum).put("age", new String(ch, start, length));
  } else if (flag.equals("address")) {
   array.get(sum).put("address", new String(ch, start, length));
  }
 }

 public void endElement(String uri, String localName, String name)
   throws SAXException {
  if (name.equals("student")) {
   sum++;
  }
  flag = "";
 }
}

分享到:
评论

相关推荐

    sax解析xml文件

    SAX(Simple API for XML)是一种轻量级的XML解析技术,主要用于读取XML文档。相较于DOM(Document Object Model)解析器,...通过学习和实践这个项目,你可以提升处理XML数据的能力,并将其应用于实际的软件开发中。

    SAX与JAVA.rar_SAX java_java SAX_java sax download_sax_xml

    标题中的"SAX与JAVA.rar"指的是Java编程语言中用于...对于想要学习或使用SAX解析XML的Java开发者来说,这是一个宝贵的资源库。通过研究这些代码,开发者可以深入理解SAX的工作原理,并能灵活地将其应用到实际项目中。

    sax basic 二次开发组件

    SAX Basic,也被称为X Basic或SAXscript,是一种基于Basic编程语言的脚本系统,主要用于应用程序的二次开发。在IT行业中,二次开发是指在现有软件基础上进行定制化修改或扩展,以满足特定用户需求的过程。SAX Basic...

    XML学习文档(DTD Schema SAX DOM XSL XPATH)

    本学习文档涵盖了XML的基础以及与其相关的几个核心概念:DTD、Schema、SAX、DOM、XSL和XPath。 首先,让我们来理解XML的基础。XML的设计目标是为了传输和存储结构化数据,它通过自定义的标签来描述数据。XML文档...

    sax课件 例子 sax课件 例子

    学习SAX解析XML的过程中,你需要理解以下几点关键知识点: 1. **事件驱动模型**:SAX解析器在读取XML文件时,会触发一系列事件,如开始文档、开始元素、结束元素等,开发者需要为这些事件编写回调函数。 2. **`...

    VC_WND_SAX.rar_sax_sax vc_vc SAX _vc xml sax

    开发者需要学习并理解这些库的API,以便正确地集成到自己的项目中。 在VC++中,我们可以通过创建一个解析器类来组织代码,该类包含解析过程中的状态信息和回调函数。解析器类在初始化时打开XML文件,然后调用库提供...

    XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记

    ### XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记 #### XML概述 XML(可扩展标记语言)是一种由W3C(万维网联盟)定义的标记语言,用于存储和传输数据。与HTML相比,XML更注重于数据的描述而非展示...

    一个关于sax解析xml的demo

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件等领域。SAX(Simple API for XML)是XML解析的一种...学习和理解SAX解析有助于提高处理大型XML文件的效率,减少内存消耗。

    SAX解析XML文档的初级源码

    在Android开发中,XML(可扩展标记语言)作为一种数据存储和交换格式,广泛应用于应用程序的配置、数据存储以及网络...学习和掌握SAX解析是提升Android开发技能的重要一环,它能帮助你在处理XML数据时更加高效和灵活。

    Android 学习Sax解析例子

    SAX(Simple API for XML)是一种事件驱动的解析器,它不将整个XML文档加载到内存中,而是逐行读取,逐个事件处理,因此对于大体积的XML文件,SAX解析相比DOM解析更为高效。本篇文章将详细介绍如何在Android中使用...

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

    XML(eXtensible Markup Language)是一种用于存储和交换数据的标记语言,广泛应用于软件开发、Web...通过学习这些示例,开发者可以更好地理解XML解析原理,熟练掌握Java处理XML的技巧,提升软件开发中的数据处理能力。

    理解sax.doc 理解sax.doc

    #### 谁应该学习本教程? 本教程旨在探讨Simple API for XML(SAX)2.0.x版本的使用方法,适用于那些已经熟悉XML基本概念并希望进一步掌握轻量级、基于事件的API来进行XML数据处理的开发人员。 #### SAX概述 SAX...

    dom和sax读XML源码范例

    在IT行业中,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,尤其在Web应用程序中广泛使用。处理XML文件时,我们通常会...通过学习这些代码,我们可以进一步掌握这两种解析技术的实际应用。

    使用Sax技术读XML文档:SaxReaderXML.rar

    用户可以通过阅读这些代码来学习如何在实际项目中应用SAX技术。 使用SAX解析XML时,还需要注意以下几点: 1. **错误处理**:SAX解析过程中可能会遇到各种错误,如语法错误、网络问题等,需要在回调方法中捕获并处理...

    Sax解析结合Xpath的用法

    在IT行业中,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,尤其是在Web服务和配置文件中广泛应用。...通过学习和掌握这两种技术,开发者可以更高效地进行XML相关的编程任务。

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

    通过学习这个案例,开发者不仅可以了解JSP的基本语法,还能掌握XML处理的核心技术,为进一步深入Java Web开发奠定基础。对于初学者来说,这是一个很好的起点,可以结合实际项目需求,灵活运用DOM和SAX解析XML,提升...

    android学习笔记1--SAX解析XML

    ### Android学习笔记1—SAX解析XML #### SAX解析XML概览 在Android开发中,XML文件被广泛用于布局设计、资源定义等场景。而为了处理这些XML文件,开发者需要了解不同的XML解析技术,其中SAX(Simple API for XML)...

    android中xml的三种解析方式(DOM,SAX,PULL)

    在学习和使用这些解析方式时,理解它们的工作原理、优缺点以及如何在Android代码中正确实现和使用是至关重要的。同时,了解如何处理XML中的命名空间、属性、实体引用等特性,以及如何处理错误和异常,也将有助于提升...

    dom+dom4J+SAX 解析

    在IT行业中,XML...通过学习和实践这些示例,你可以更好地理解XML处理的各种策略,并根据实际需求选择合适的方法。无论是在服务器端处理大量数据,还是在客户端构建动态应用,XML解析技术都是不可或缺的技能。

    xml_DOM_SAX.rar_DOM_dom xml saxxml_java dom_sax

    在学习XML解析时,理解DOM和SAX的区别和适用场景是关键。DOM提供了灵活的数据访问,而SAX则侧重于高效的数据流处理。选择哪种解析方式取决于你的具体需求,如文件大小、性能要求以及数据处理的复杂性。通过实践,你...

Global site tag (gtag.js) - Google Analytics