sax解析xml文档
发布时间:2020-12-16 00:39:26 所属栏目:百科 来源:网络整理
导读:import org.xml.sax.*;import org.xml.sax.helpers.*;import javax.xml.parsers.*;import java.util.Stack;public class saxJava extends DefaultHandler { //将数据保存在Stack中 Stack tags = new Stack(); public saxJava() { super(); } public static v
import org.xml.sax.*; import org.xml.sax.helpers.*; import javax.xml.parsers.*; import java.util.Stack; public class saxJava extends DefaultHandler { //将数据保存在Stack中 Stack tags = new Stack(); public saxJava() { super(); } public static void main(String args[]) { //当前时间,单位毫秒 long lasting = System.currentTimeMillis(); try { //创建解析工厂 SAXParserFactory sf = SAXParserFactory.newInstance(); //得到解析器 SAXParser sp = sf.newSAXParser(); //设置内容处理器 saxJava reader = new saxJava(); // sp.parse(new InputSource("a.xml"),reader); }catch (Exception e) { e.printStackTrace(); } System.out.println("运行时间:" + (System.currentTimeMillis() - lasting) + "毫秒"); } public void characters(char ch[],int start,int length) throws SAXException { String tag = (String) tags.peek(); if (tag.equals("code")) { System.out.print(new String(ch,start,length)); } if (tag.equals("pass")) { System.out.print(new String(ch,length)); } if (tag.equals("name")) { System.out.print(new String(ch,length)); } if (tag.equals("money")) { System.out.print(new String(ch,length)); } } public void startElement(String uri,String localName,String qName,Attributes attrs){ tags.push(qName); } } xml文档是我copy过来的!!!! xml文档(a.xml)内容: <?xml version="1.0" encoding="gbk"?> <Accounts> <Account type="by0003"> <code>100001</code> <pass>123</pass> <name>李四</name> <money>1000000.00</money> </Account> <Account type="hz0001"> <code>100002</code> <pass>123</pass> <name>张三</name> <money>1000.00</money> </Account> </Accounts> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |