知识大全 使用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

java解析XML和java解析HTML  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一dom

知识大全 用PHP工具包expat解析XML

用PHP工具包expat解析XML  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!如今人人鼓吹XML

知识大全 java 使用JDOM解析xml文件

java使用JDOM解析xml文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!java中如何使用

知识大全 比较groovy/java解析xml文件

  xml内容  <emails>  <emailid=′>  <subject>helloworld</subject>  <sender>

知识大全 WEB页面工具语言XML(二)定义

WEB页面工具语言XML(二)定义  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  XML是一个精

知识大全 WEB页面工具语言XML(一)产生背景

WEB页面工具语言XML(一)产生背景  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  XML同H

知识大全 如何用系统自带画图工具在图片上输入文字

如何用系统自带画图工具在图片上输入文字:jingyan.baidu./article/414ef6a123906b431f0ad9.先选择"A"按钮,然后拖出一个框就可以输入了,具体可以参看一下链接1

知识大全 自带打包工具打包Asp.Net Web应用程序

自带打包工具打包Asp.NetWeb应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  打开

知识大全 Java自带的Future多线程模式

Java自带的Future多线程模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 Java SE 6中XML数字签名标准Java接口

JavaSE6中XML数字签名标准Java接口  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  级