知识大全 使用Java自带SAX工具解析XML
Posted 知
篇首语:生活若剥去理想、梦想、幻想,那生命便只是一堆空架子。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用Java自带SAX工具解析XML相关的知识,希望对你有一定的参考价值。
使用Java自带SAX工具解析XML 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
studentInfo xml
<?xml version= encoding= gb ?><student> <person age= ><! 如果没有age属性 默认的为 > <name>崔卫兵</name> <college>PC学院</college> <telephone> </telephone> <notes>男 年生 硕士 现就读于北京邮电大学</notes> </person> <person> <name>cwb</name> <college leader= leader >PC学院</college><! 如果没有leader属性 默
认的为leader > <telephone> </telephone> <notes>男 年生 硕士 现就读于中国农业大学</notes> </person> <person age= > <name>xxxxx</name> <college leader= 学院领导 >xxx学院</college> <telephone> </telephone> <notes>注视中 注释中</notes> </person></student>
SAXHandler java
package saxExample;
import java util HashMap;import xml sax *;import xml sax helpers DefaultHandler;
/** * 继承DefaultHandler类 用SAX实现对xml的遍历 * @author cuiweibing * @since */
public class SAXHandler extends DefaultHandler //存放所有的节点(这里的节点等于原来的节点+编号)以及它所对应的值 private HashMap<String String> hashMap = new HashMap<String String>(); //目前的节点 private String currentElement = null; //目前节点所对应的值 private String currentValue = null; //用于节点编号(具体到person) private static int i= ; public HashMap getHashMap() return hashMap; public void characters(char[] ch int start int length) throws SAXException //取出目前节点对应的值 currentValue = new String(ch start length); public void startElement(String uri String localName String qName Attributes attr) throws SAXException if(qName equalsIgnoreCase( student )) //currentElement= ; else if (qName equalsIgnoreCase( person )) i++; //currentElement= ; String age=attr getValue( age ); if(age!=null) hashMap put(qName+ age +i age); else hashMap put(qName+ age +i ); else if (qName equalsIgnoreCase( college )) currentElement= qName; String leader=attr getValue( leader ); if(leader!=null) hashMap put(qName+ leader +i leader); else hashMap put(qName+ leader +i leader ); else currentElement= qName; public void endElement(String uri String localName String qName) throws SAXException if (qName equalsIgnoreCase( student ))// hashMap put(currentElement currentValue); else if (qName equalsIgnoreCase( person )) else currentElement+=i; hashMap put(currentElement currentValue);
TestSAXHandler java
package saxExample;
import java io File;import java util HashMap;import javax xml parsers SAXParserFactory;import javax xml parsers SAXParser;
/** * 解析主类 * @author cuiweibing * @since */
public class TestSAXHandler public TestSAXHandler()
public static void main(String[] args) try //初始化与解析 SAXHandler handler = new SAXHandler(); SAXParserFactory saxparserfactory = SAXParserFactory newInstance(); SAXParser saxparser = saxparserfactory newSAXParser(); saxparser parse(new File( studentInfo xml ) handler);
//解析完后获取解析信息 HashMap hashMap = handler getHashMap(); System out println( 姓名\\t年龄\\t学院\\t学院领导\\t电话\\t\\t备注 ); for(int i= ;i<hashMap size();i+= ) int j=i/ ; System out print(hashMap get( name +j)+ \\t ); System out print(hashMap get( person age +j)+ \\t ); System out print(hashMap get( college +j)+ \\t ); System out print(hashMap get( college leader +j)+ \\t ); System out print(hashMap get( telephone +j)+ \\t ); System out println(hashMap get( notes +j)+ \\t ); catch(Exception ex) ex printStackTrace();
cha138/Article/program/Java/JSP/201311/19670相关参考
java解析XML和java解析HTML 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一dom
用PHP工具包expat解析XML 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!如今人人鼓吹XML
java使用JDOM解析xml文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!java中如何使用
xml内容 <emails> <emailid=′> <subject>helloworld</subject> <sender>
WEB页面工具语言XML(二)定义 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! XML是一个精
WEB页面工具语言XML(一)产生背景 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! XML同H
如何用系统自带画图工具在图片上输入文字:jingyan.baidu./article/414ef6a123906b431f0ad9.先选择"A"按钮,然后拖出一个框就可以输入了,具体可以参看一下链接1
自带打包工具打包Asp.NetWeb应用程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 打开
Java自带的Future多线程模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
知识大全 Java SE 6中XML数字签名标准Java接口
JavaSE6中XML数字签名标准Java接口 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 级