SAX方式创建/解析xml
2012-10-16 09:54
183 查看
1.新建文件名为:Saxdemo.java,代码:
2.编写测试类,TestSax.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 创建与解析XML(三)—— Sax方式
- Android 创建与解析XML(三)—— Sax方式
- SAX方式创建/解析xml
- Android 创建与解析XML(三)—— Sax方式
- Android创建与解析XML(三)――详解Sax方式
- Android 创建与解析XML(三)—— Sax方式
- Android 创建与解析XML(三)—— Sax方式
- Android 创建与解析XML(三)—— Sax方式
- Android 创建与解析XML(三)—— Sax方式(源码)
- Android 创建与解析XML(三)—— Sax方式
- 详解android解析Xml的三种方式——DOM、SAX以及XMLpull
- Android 创建与解析XML(五)—— Dom4j方式
- dom、SAX、Jdom、dom4j四种解析xml方式简单总结
- android解析XML总结-SAX、Pull、Dom三种方式
- (四)SAX方式解析XML数据
- SAX方式解析XML
- SAX方式解析XML的简单方法
- android 解析XML最常用的三种方式;DOM解析,SAX解析,PULL解析