`

SAX方式创建/解析xml

    博客分类:
  • xml
阅读更多

1.新建文件名为:Saxdemo.java,代码:

package com.test;
 
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
 
import javax.xml.parsers.ParserConfigurationException;
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;
 
import com.inter.XmlDocument;
 
public class SaxDemo implements XmlDocument
{
 
    public void createXml(String fileName)
    {
        System.out.println("<<" + fileName + ">>");
    }
 
    public void parserXml(String fileName)
    {
        SAXParserFactory saxfac = SAXParserFactory.newInstance();
        try
        {
            SAXParser saxparser = saxfac.newSAXParser();
            InputStream is = new FileInputStream(fileName);
            saxparser.parse(is, new MySAXHandler());
        }
        catch (ParserConfigurationException e)
        {
            e.printStackTrace();
        }
        catch (SAXException e)
        {
            e.printStackTrace();
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        System.out.println("-----sax解析完毕------");
    }
}
 
class MySAXHandler extends DefaultHandler
{
    boolean hasAttribute = false;
    Attributes attributes = null;
 
    public void startDocument() throws SAXException
    {
        System.out.println("开始打印");
    }
 
    public void endDocument() throws SAXException
    {
        System.out.println("结束打印");
    }
 
    public void startElement(String uri, String localName, String qName,
            Attributes attributes) throws SAXException
    {
        if (qName.equals("employees"))
        {
            return;
        }
        if (qName.equals("employee"))
        {
            System.out.println(qName);
        }
        if (attributes.getLength() > 0)
        {
            this.attributes = attributes;
            this.hasAttribute = true;
        }
    }
 
    public void endElement(String uri, String localName, String qName)
            throws SAXException
    {
        if (hasAttribute && (attributes != null))
        {
            for (int i = 0; i < attributes.getLength(); i++)
            {
                System.out.println(attributes.getQName(0)
                        + attributes.getValue(0));
            }
        }
    }
 
    public void characters(char[] ch, int start, int length)
            throws SAXException
    {
        System.out.println(new String(ch, start, length));
    }
}
 
 

2.编写测试类,TestSax.java,代码如下:

public class TestDom
{
    public static void main(String[] args)
    {
Saxdemo    sax  =  new  Saxdemo();
 
//创建的xml见图一
sax.createXml("D://employee.xml");
//解析的xml见图二
sax.parseXml("E://employee.xml");
 
 
          }
}
 
分享到:
评论

相关推荐

    Android 创建与解析XML Sax方式

    Android 创建与解析XML Sax方式

    android sax解析创建xml源码

    android sax解析创建xml源码,其中包含两种解析xml的方式。

    android 三种方式解析XML(DOM,Pull,Sax) 带文件编码识别

    三种方式解析XML 提供创建XML方法 本地三种方式解析 网络三种方式解析 一共7个 需要的下 带文件编码识别 相当强大哦

    SAX解析XML源码及文档

    android解析XML 文档及源码 大多数与XML 相关的Java API 在Android 上得到了完全支持,在Android 上可以创建功能强大的移动应用程序,而在Android 上解析XML的技术有三种DOM、SAX、PULL。

    一写小例子,dom4J,dom,jdom,sax解析和创建XML文件,代码虽然简单,但是功能实现,适合入门

    现在流行的几种解析xml的方法,都做了相应的创建和解析XML的demo,虽然有点简单,但是和新手入门

    Android创建与解析XML(三)——详解Sax方式

    本篇文章主要介绍了Android创建与解析XML(三)——详解Sax方式 ,这里整理了详细的代码,有需要的小伙伴可以参考下。

    Android编程创建与解析xml的常用方法详解

    首先是创建,我们用XmlSerializer这个类来创建一个xml文件,其次是解析xml文件,常用的有dom,sax,XmlPullParser等方法,由于sax代码有点复杂,本节只讲解一下dom与XmlPullParser解析,sax我将会在下一节单独讲解,...

    dom+dom4J+SAX 解析

    本程序实现了实现dom+dom4J创建XML到解析XML,并实行了SAX 解析XML,大家值得学习!

    数据解析,小型 XML 解析库

    Mini-XML 是一个小型 XML 解析库,您可以使用它来读取应用程序中的 XML 数据文件或字符串,而无需大型非标准库 读取 UTF-8 和 UTF-16 并写入 UTF-8 编码的 XML 文件和字符串。 数据存储在链表树结构中,保留 XML ...

    Android编程解析XML方法详解(SAX,DOM与PULL)

    本文实例讲述了Android编程解析XML方法。分享给大家供大家参考,具体如下: XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向...

    java 4种方式 解析 xml

    java 4 种方式解析 和 创建 xml 文件 源码示例。 1.dom方式。 2.sax方式。 3.dom4j方式。 4.jdom方式。 里面的工程包源码 和 相应的 lib jar,倒入后就可以 测试。 欢迎下载分享传播。

    jdom解析xml实例

    使用jdom解析xml的实例 包括生成新的xml文件,读取xml和修改xml 项目是myeclipse创建的

    xml入门教程/xml入门教程

    &1.XML简介 XML的背景 1) XML代表可扩展的标记语言(eXtensible Markup Language); 2) XML由W3C联盟发展维护; 3) XML是一种元语言,可以用来定义其它标签语言; 4) XML没有定义任何标记,它提供了一种工具定义...

    Android XML数据的三种解析方式

    本篇文章包含以下内容: ...DOM解析XML文件时,会将XML文件的所有内容读取到内存中(内存的消耗比较大),然后允许您使用DOM API遍历XML树、检索所需的数据 一、在Assets文件夹中模拟创建XML文件 &lt;name

    android解析XML

    里面包含三种android解析XML方式:使用DOM解析本地XML,使用SAX解析网络XML文件,使用PULL解析网络XML。文档中附解析XML文件,解析源码,解析XML应注意问题。其中SAX,PULL是万能助手类(只需要有对应的XML源,给XML...

    Simple工具包解析XML文件

    SAX解析xml数据。比较麻烦的是,每份需要解析的xml数据对应的都需要创建相应的DefaultHandler2类,如果App后台接口较多的话,需要创建的解析后台数据的DefaultHandler2类也就相应的增多,这样会给App的维护带来一定...

    xml dom,sax解析,schema验证

    xerces-c++ 2.8应用,主要报错xml文件的解析,创建,修改保存。schema验证的。希望对初学者有所帮助.

    XML_dom_sax_dom4j:XML解析技术之dom、Sax、dom4j以及XML Schema技术约束

    dom(文档对象模型)是W3C组织推荐的解析XML文档的一种方式,使用dom API解析XML文档时,它是将整文档一次加载到内存生成一个dom树,在进行增加新元素时,需要先创建元素,然后将其挂载到指定元素前方,之后还需要将...

    在Android3.0平台上创建和解析XML

    在本文中,您可以学习如何在Android设备上创建和解析XML文档。要输出XML,您可以使用标准的javax.xml.transform.Transformer类。要在Android上解析XML,您可以使用DOM与SAX解析器。org.xmlpull.v1.XmlPullParserpull...

Global site tag (gtag.js) - Google Analytics