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 sax解析创建xml源码,其中包含两种解析xml的方式。
三种方式解析XML 提供创建XML方法 本地三种方式解析 网络三种方式解析 一共7个 需要的下 带文件编码识别 相当强大哦
android解析XML 文档及源码 大多数与XML 相关的Java API 在Android 上得到了完全支持,在Android 上可以创建功能强大的移动应用程序,而在Android 上解析XML的技术有三种DOM、SAX、PULL。
现在流行的几种解析xml的方法,都做了相应的创建和解析XML的demo,虽然有点简单,但是和新手入门
本篇文章主要介绍了Android创建与解析XML(三)——详解Sax方式 ,这里整理了详细的代码,有需要的小伙伴可以参考下。
首先是创建,我们用XmlSerializer这个类来创建一个xml文件,其次是解析xml文件,常用的有dom,sax,XmlPullParser等方法,由于sax代码有点复杂,本节只讲解一下dom与XmlPullParser解析,sax我将会在下一节单独讲解,...
本程序实现了实现dom+dom4J创建XML到解析XML,并实行了SAX 解析XML,大家值得学习!
Mini-XML 是一个小型 XML 解析库,您可以使用它来读取应用程序中的 XML 数据文件或字符串,而无需大型非标准库 读取 UTF-8 和 UTF-16 并写入 UTF-8 编码的 XML 文件和字符串。 数据存储在链表树结构中,保留 XML ...
本文实例讲述了Android编程解析XML方法。分享给大家供大家参考,具体如下: XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向...
java 4 种方式解析 和 创建 xml 文件 源码示例。 1.dom方式。 2.sax方式。 3.dom4j方式。 4.jdom方式。 里面的工程包源码 和 相应的 lib jar,倒入后就可以 测试。 欢迎下载分享传播。
使用jdom解析xml的实例 包括生成新的xml文件,读取xml和修改xml 项目是myeclipse创建的
&1.XML简介 XML的背景 1) XML代表可扩展的标记语言(eXtensible Markup Language); 2) XML由W3C联盟发展维护; 3) XML是一种元语言,可以用来定义其它标签语言; 4) XML没有定义任何标记,它提供了一种工具定义...
本篇文章包含以下内容: ...DOM解析XML文件时,会将XML文件的所有内容读取到内存中(内存的消耗比较大),然后允许您使用DOM API遍历XML树、检索所需的数据 一、在Assets文件夹中模拟创建XML文件 <name
里面包含三种android解析XML方式:使用DOM解析本地XML,使用SAX解析网络XML文件,使用PULL解析网络XML。文档中附解析XML文件,解析源码,解析XML应注意问题。其中SAX,PULL是万能助手类(只需要有对应的XML源,给XML...
SAX解析xml数据。比较麻烦的是,每份需要解析的xml数据对应的都需要创建相应的DefaultHandler2类,如果App后台接口较多的话,需要创建的解析后台数据的DefaultHandler2类也就相应的增多,这样会给App的维护带来一定...
xerces-c++ 2.8应用,主要报错xml文件的解析,创建,修改保存。schema验证的。希望对初学者有所帮助.
dom(文档对象模型)是W3C组织推荐的解析XML文档的一种方式,使用dom API解析XML文档时,它是将整文档一次加载到内存生成一个dom树,在进行增加新元素时,需要先创建元素,然后将其挂载到指定元素前方,之后还需要将...
在本文中,您可以学习如何在Android设备上创建和解析XML文档。要输出XML,您可以使用标准的javax.xml.transform.Transformer类。要在Android上解析XML,您可以使用DOM与SAX解析器。org.xmlpull.v1.XmlPullParserpull...