For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
用SAX方式解析XML,XML文件如下:
<?xml version=1.0encoding=gb2312?>
<person>
<name>王小明</name>
<college>信息学院</college>
<telephone>6258113</telephone>
<notes>男,1955年生,博士,95年调入海南大学</notes>
</person>
事件回调类SAXHandler.java
import java.io.*;
importjava.util.Hashtable;
import org.xml.sax.*;
public classSAXHandler extends HandlerBase
{
private Hashtabletable = new Hashtable();
private StringcurrentElement = null;
private StringcurrentValue = null;
public voidsetTable(Hashtable table)
{
this.table = table;
}
public HashtablegetTable()
{
return table;
}
public voidstartElement(String tag, AttributeList attrs)
throws SAXException
{
currentElement = tag;
}
public voidcharacters(char[] ch, int start, int length)
throws SAXException
{
currentValue = newString(ch, start, length);
}
public voidendElement(String name) throws SAXException
{
if(currentElement.equals(name))
table.put(currentElement,currentValue);
}
}
JSP内容显示源码,SaxXml.jsp:
<HTML>
<HEAD>
<TITLE>剖析XML文件people.xml</TITLE>
</HEAD>
<BODY>
<%@ pageerrorPage=ErrPage.jsp
contentType=text/html;charset=GB2312%>
<%@ pageimport=java.io.* %>
<%@ page import=java.util.Hashtable%>
<%@ pageimport=org.w3c.dom.* %>
<%@ pageimport=org.xml.sax.* %>
<%@ pageimport=javax.xml.parsers.SAXParserFactory %>
<%@ pageimport=javax.xml.parsers.SAXParser %>
<%@ pageimport=SAXHandler %>
<%
File file = new File(c:people.xml);
FileReader reader =new FileReader(file);
Parser parser;
SAXParserFactory spf= SAXParserFactory.newInstance();
SAXParser sp =spf.newSAXParser();
SAXHandler handler =new SAXHandler();
sp.parse(newInputSource(reader), handler);
Hashtable hashTable =handler.getTable();
out.println(<TABLEBORDER=2><CAPTION>教师信息表</CAPTION>);
out.println(<TR><TD>姓名</TD>+ <TD> +
(String)hashTable.get(newString(name)) + </TD></TR>);
out.println(<TR><TD>学院</TD>+ <TD> +
(String)hashTable.get(newString(college))+</TD></TR>);
out.println(<TR><TD>电话</TD>+ <TD> +
(String)hashTable.get(newString(telephone)) + </TD></TR>);
out.println(<TR><TD>备注</TD>+ <TD> +
(String)hashTable.get(newString(notes)) + </TD></TR>);
out.println(</TABLE>);
%>
</BODY>
</HTML>
更多武汉IT培训相关资讯,请扫描下方二维码