<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Heck's  Blog]]></title> 
<link>https://www.heckjj.com/index.php</link> 
<description><![CDATA[一瞬间的决定，往往可以改变很多，事实上，让自己成功的往往不是知识，是精神！ 如果你总是为自己找借口，那只好让成功推迟。执行力，今天！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Heck's  Blog]]></copyright>
<item>
<link>https://www.heckjj.com/java-to-archieve-sax-parse-xml/</link>
<title><![CDATA[JAVA中使用SAX方式解析XML]]></title> 
<author>Heck &lt;@hecks.tk&gt;</author>
<category><![CDATA[编程杂谈]]></category>
<pubDate>Sun, 24 Oct 2010 00:43:45 +0000</pubDate> 
<guid>https://www.heckjj.com/java-to-archieve-sax-parse-xml/</guid> 
<description>
<![CDATA[ 
	　　　<span style="font-family: 微软雅黑;">我们在java中用SAX方式解析XML，XML文件如下：</span><br/>&lt;?xml version=&quot;1.0&quot; encoding=&quot;gb2312&quot;?&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&lt;person&gt;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&lt;name&gt;姜军&lt;/name&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&lt;college&gt;信息学院&lt;/college&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&lt;telephone&gt;6258113&lt;/telephone&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&lt;notes&gt;男，1985年生，将军 ，95年调入广州军区&lt;/notes&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&lt;/person&gt;<span style="font-family: 微软雅黑;">&nbsp;&nbsp; <br/><br/>事件回调类SAXHandler.java</span> <br/><textarea name="code" class="java" rows="15" cols="100">import java.io.*;&nbsp;&nbsp;&nbsp;&nbsp;
import java.util.Hashtable;&nbsp;&nbsp;&nbsp;&nbsp;
import org.xml.sax.*;&nbsp;&nbsp;&nbsp;&nbsp;
public class SAXHandler extends HandlerBase&nbsp;&nbsp;&nbsp;&nbsp;
&#123;&nbsp;&nbsp;&nbsp;&nbsp;
private Hashtable table = new Hashtable();&nbsp;&nbsp;&nbsp;&nbsp;
private String currentElement = null;&nbsp;&nbsp;&nbsp;&nbsp;
private String currentValue = null;&nbsp;&nbsp;&nbsp;&nbsp;
public void setTable(Hashtable table)&nbsp;&nbsp;&nbsp;&nbsp;
&#123;&nbsp;&nbsp;&nbsp;&nbsp;
this.table = table;&nbsp;&nbsp;&nbsp;&nbsp;
&#125;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
public Hashtable getTable()&nbsp;&nbsp;&nbsp;&nbsp;
&#123;&nbsp;&nbsp;&nbsp;&nbsp;
return table;&nbsp;&nbsp;&nbsp;&nbsp;
&#125;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
public void startElement(String tag, AttributeList attrs)&nbsp;&nbsp;&nbsp;&nbsp;
throws SAXException&nbsp;&nbsp;&nbsp;&nbsp; 
&#123;&nbsp;&nbsp;&nbsp;&nbsp;
currentElement = tag;&nbsp;&nbsp;&nbsp;&nbsp;
&#125;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
public void characters(char[] ch, int start, int length)&nbsp;&nbsp;&nbsp;&nbsp;
throws SAXException&nbsp;&nbsp;&nbsp;&nbsp;
&#123;&nbsp;&nbsp;&nbsp;&nbsp;
currentValue = new String(ch, start, length);&nbsp;&nbsp;&nbsp;&nbsp;
&#125;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
public void endElement(String name) throws SAXException&nbsp;&nbsp;&nbsp;&nbsp;
&#123;&nbsp;&nbsp;&nbsp;&nbsp;
if (currentElement.equals(name))&nbsp;&nbsp;&nbsp;&nbsp;
table.put(currentElement, currentValue);&nbsp;&nbsp;&nbsp;&nbsp;
&#125;
&#125;</textarea><br/><span style="font-family: 微软雅黑;">JSP内容显示源码,SaxXml.jsp: </span><br/><textarea name="code" class="html" rows="15" cols="100">&lt;HTML&gt;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;HEAD&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;TITLE&gt;剖析XML文件people.xml&lt;/TITLE&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/HEAD&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;BODY&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;%@ page errorPage=&quot;ErrPage.jsp&quot;&nbsp;&nbsp;&nbsp;&nbsp;
contentType=&quot;text/html;charset=GB2312&quot; %&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;%@ page import=&quot;java.io.*&quot; %&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;%@ page import=&quot;java.util.Hashtable&quot; %&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;%@ page import=&quot;org.w3c.dom.*&quot; %&gt;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;%@ page import=&quot;org.xml.sax.*&quot; %&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;%@ page import=&quot;javax.xml.parsers.SAXParserFactory&quot; %&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;%@ page import=&quot;javax.xml.parsers.SAXParser&quot; %&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;%@ page import=&quot;SAXHandler&quot; %&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;%&nbsp;&nbsp;&nbsp;&nbsp;
File file = new File(&quot;c:&#92;people.xml&quot;);&nbsp;&nbsp;&nbsp;&nbsp;
FileReader reader = new FileReader(file);&nbsp;&nbsp;&nbsp;&nbsp;
Parser parser;&nbsp;&nbsp;&nbsp;&nbsp;
SAXParserFactory spf = SAXParserFactory.newInstance();&nbsp;&nbsp;&nbsp;&nbsp;
SAXParser sp = spf.newSAXParser();&nbsp;&nbsp;&nbsp;&nbsp;
SAXHandler handler = new SAXHandler();&nbsp;&nbsp;&nbsp;&nbsp;
sp.parse(new InputSource(reader), handler);&nbsp;&nbsp;&nbsp;&nbsp;
Hashtable hashTable = handler.getTable();&nbsp;&nbsp;&nbsp;&nbsp;
out.println(&quot;&lt;TABLE BORDER=2&gt;&lt;CAPTION&gt;教师信息表&lt;/CAPTION&gt;&quot;);&nbsp;&nbsp;&nbsp;&nbsp;
out.println(&quot;&lt;TR&gt;&lt;TD&gt;姓名&lt;/TD&gt;&quot; + &quot;&lt;TD&gt;&quot; +&nbsp;&nbsp;&nbsp;&nbsp;
(String)hashTable.get(new String(&quot;name&quot;)) + &quot;&lt;/TD&gt;&lt;/TR&gt;&quot;);&nbsp;&nbsp;&nbsp;&nbsp;
out.println(&quot;&lt;TR&gt;&lt;TD&gt;学院&lt;/TD&gt;&quot; + &quot;&lt;TD&gt;&quot; +&nbsp;&nbsp;&nbsp;&nbsp;
(String)hashTable.get(new String(&quot;college&quot;))+ &quot;&lt;/TD&gt;&lt;/TR&gt;&quot;);&nbsp;&nbsp; 
out.println(&quot;&lt;TR&gt;&lt;TD&gt;电话&lt;/TD&gt;&quot; + &quot;&lt;TD&gt;&quot; +&nbsp;&nbsp;&nbsp;&nbsp;
(String)hashTable.get(new String(&quot;telephone&quot;)) + &quot;&lt;/TD&gt;&lt;/TR&gt;&quot;);&nbsp;&nbsp;&nbsp;&nbsp;
out.println(&quot;&lt;TR&gt;&lt;TD&gt;备注&lt;/TD&gt;&quot; + &quot;&lt;TD&gt;&quot; +&nbsp;&nbsp;&nbsp;&nbsp;
(String)hashTable.get(new String(&quot;notes&quot;)) + &quot;&lt;/TD&gt;&lt;/TR&gt;&quot;);&nbsp;&nbsp;&nbsp;&nbsp;
out.println(&quot;&lt;/TABLE&gt;&quot;);&nbsp;&nbsp;&nbsp;&nbsp;
%&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/BODY&gt;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/HTML&gt;</textarea><br/>Tags - <a href="https://www.heckjj.com/tags/%25E8%25A7%25A3%25E6%259E%2590xml/" rel="tag">解析xml</a> , <a href="https://www.heckjj.com/tags/%25E8%25A7%25A3%25E6%259E%2590/" rel="tag">解析</a> , <a href="https://www.heckjj.com/tags/xml/" rel="tag">xml</a> , <a href="https://www.heckjj.com/tags/sax%25E8%25A7%25A3%25E6%259E%2590xml/" rel="tag">sax解析xml</a>
]]>
</description>
</item><item>
<link>https://www.heckjj.com/java-to-archieve-sax-parse-xml/#blogcomment</link>
<title><![CDATA[[评论] JAVA中使用SAX方式解析XML]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.heckjj.com/java-to-archieve-sax-parse-xml/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>