此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【chendonghr】截止到2008-07-29 08:34:13的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:40 每贴平均分数:20
回帖的总数量:13 得分贴总数量:1 回帖的得分率:7%
结贴的总数量:1 结贴的总分数:20
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:20
结贴的百分比:50.00 % 结分的百分比:50.00 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
楼主【chendonghr】截止到2008-07-29 08:34:13的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:40 每贴平均分数:20
回帖的总数量:13 得分贴总数量:1 回帖的得分率:7%
结贴的总数量:1 结贴的总分数:20
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:20
结贴的百分比:50.00 % 结分的百分比:50.00 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
先写一个HANDLER继承DefaultHandler,重写characters,startelement,endelement,将解析结果存放在hashtable中---在jsp页面中实例化sax解析器,并将HANDLER引用,开始解析--->得到HANDLER中的hashtable,将解析结果显示在页面中。
具体代码如下::
1.MyHandler的代码: package bean; import java.io.*;
import java.util.Hashtable;
import org.xml.sax.*;
import java.util.*;
import org.xml.sax.helpers.DefaultHandler;
public class MyHandler extends DefaultHandler{ //定义一个int值,用来标记哈西表中键值得顺序
public int i=0; //定义一个hashtable,用来存储符合条件的信息
private Hashtable table=new Hashtable(); //定义一个方法用来得到一村有信息的hashtable表。
public Hashtable getTable(){
return table;
} //第一一个方法用来得到i值
public int getNum(){
return i;
} //定义站的实例,存储1.XML文件中元素的名称
Stack tags=new Stack(); //重写XML标签内容处理回调函数
public void characters (char ch[], int start, int length)throws SAXException{
//得到当前元素中的内容
String s1=new String(ch,start,length);
//从栈中得到当前节点的信息
String tag=(String) tags.peek();
if("book".equals(tag)){
if(!("".equals(s1.trim()))){
i++;
table.put("book"+i,s1.trim());
}
}
} //重写开始标签处理回调函数
public void startElement(String uri, String localName, String qName, Attributes attrs){
tags.push(qName);
} //重写结束标签处理回调函数
public void endElement (String namespaceURI,String localName,String qName) throws SAXException{
}
}
2.display.jsp的代码: <%@page contentType="text/html;charset=gb2312"%>
<%@page import="org.xml.sax.*,org.xml.sax.helpers.*,javax.xml.parsers.*"%>
<%@page import="java.lang.String,java.io.*,bean.*"%>
<%@page import="java.util.*,org.ictclas4j.bean.Dictionary"%>
<%
try{
SAXParserFactory factory = SAXParserFactory.newInstance();
javax.xml.parsers.SAXParser saxParser = factory.newSAXParser();
MyHandler myHandler = new MyHandler();
saxParser.parse(new InputSource("http://localhost:8080/webapps/1.xml"),myHandler);
HashTable hashtable = new HashTable();
hashtable=myHandler.getTable();
int j=0;
j = myHandler.getNum();
if(j>=1){
out.println("xml中的内容如下:");
for(int i=1;i <=j;i++)
{
out.println("book"+i+"---"+hashtable.get("book"+i));
}
}else{
out.println("您要搜索的资源不存在!");
}
}catch(Exception e){
System.out.println(e.toString());
}
%>
你先试试。。
这里的讲解很详细
学习最重要