这个问题已解决!
但又有其他问题,原程序如下:
//myHandler.java
import java.io.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.util.Hashtable;
import java.util.Enumeration;// myHandler类实现HandlerBase接口
public class myHandler extends HandlerBase
{
private String myElement = null;
private String myValue = null;
private Hashtable mytable = new Hashtable();
public Hashtable getTable()
{
return mytable;
}
// tag代表XML中的标记,如前面XML文件中的NAME AGE等
public void startElement(String tag, AttributeList attrs)
throws SAXException
{
myElement = tag;
}
//如myElement="姓名"时候,myValue就会等于"刘玉锋"
public void characters(char[] ch, int start, int length)
throws SAXException
{
myValue = new String(ch, start, length);
}
//如果存在对应的结束标记</Tag>,就将前面得到的标记myElement和值myValue放入到mytable哈希表中
public void endElement(String name)
throws SAXException
{
if ( myElement.equals(name) )
{
mytable.put(myElement, myValue);
}
}
}//JSP文件
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page language="java" import="myclass.*,java.io.*,org.w3c.dom.*,org.xml.sax.*,javax.xml.parsers.SAXParser,javax.xml.parsers.SAXParserFactory,java.util.*" %><!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>XML+JSP演示例子</title>
</head>
<body>
<p>这是一个XML+JSP的例子,读取XML文件中的内容</p>
<%
try
{
String newFile=request.getParameter("file");
out.println("file:"+newFile);
if(newFile==null||newFile.equals(""))
{
out.println("请使用参数如jspxml.jsp?file=d:\\app\\jspxml\\personal.xml");
return;
}
String xmlFile ="file:" + new File(newFile);
out.println("xmlfile:"+xmlFile);
SAXParserFactory saxpF = SAXParserFactory.newInstance();
SAXParser saxpser = saxpF.newSAXParser();
myHandler handler = new myHandler();
saxpser.parse(xmlFile, handler);
Hashtable hshTable = handler.getTable();
//String name=hshTable.get("name");
out.println("name:"+hshTable.get("name"));
Enumeration enum=hshTable.keys();
Object obj;
while(enum.hasMoreElements())
{
obj=enum.nextElement();
out.println("<br>"+obj+"=="+(String)hshTable.get(obj));
}
}
catch (SAXException e)
{
e.printStackTrace();
}
%>
</body>
</html>//XML文件
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE web-app
    PUBLIC "-//w3c//dtd html 4.0 transitional//en"><person>
    <name>
    mzer
    </name>
    <gender>
    male
    </gender>
    <age>
    21
    </age>
    <mail>
    [email protected]
    </mail>
    <page>
    obaby.51.net
    </page>
    <note>
    fly in my face
    </note>
</person>