posts - 189,comments - 115,trackbacks - 0
java解析XML文件实例
ssuupv 发表于 2006-2-16 13:14:00

XML文件

<?xml version="1.0" encoding="gb2312"?>
<person>
<name>ssuupv</name>
<college>材料学院</college>
<telephone>6258113</telephone>
<notes>男,1979年生,本科,99年调入中国陶瓷大学</notes>
</person>

java代码

import java.io.*;
import java.util.Hashtable;
import org.xml.sax.*;

public class SAXHandler extends HandlerBase {
    private Hashtable table = new Hashtable();

    private String currentElement = null;

    private String currentValue = null;

    public void setTable(Hashtable table) {
        this.table = table;
    }

    public Hashtable getTable() {
        return table;
    }

    public void startElement(String tag, AttributeList attrs) throws SAXException {
        currentElement = tag;
    }

    public void characters(char[] ch, int start, int length) throws SAXException {
        currentValue = new String(ch, start, length);
    }

    public void endElement(String name) throws SAXException {
        if (currentElement.equals(name))
            table.put(currentElement, currentValue);
    }
}

 

jsp文件

<HTML>

<HEAD>

<TITLE>剖析XML文件people.xml</TITLE>

</HEAD>

<BODY>

<%@ page errorPage="ErrPage.jsp"

         contentType="text/html;charset=GB2312" %>

<%@ page import="java.io.*" %>

<%@ page import="java.util.Hashtable" %>

<%@ page import="org.w3c.dom.*" %>

<%@ page import="org.xml.sax.*" %>

<%@ page import="javax.xml.parsers.SAXParserFactory" %>

<%@ page import="javax.xml.parsers.SAXParser" %>

<%
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
File file = new File("D:\\projects\\test\\webapp\\people.xml");
FileReader reader=new FileReader(file);
//String reader ="<person><name>ssuupv</name><college>材料学院</college><telephone>6258113</telephone><notes>男 1979年生 本科 79年调入中国陶瓷大学</notes></person>";

Parser parser;

SAXParserFactory spf = SAXParserFactory.newInstance();

SAXParser sp = spf.newSAXParser();

 com.test.SAXHandler handler = new  com.test.SAXHandler .SAXHandler();

 

 

sp.parse(new InputSource(reader), handler);

Hashtable hashTable = handler.getTable();

out.println("<TABLE BORDER=2><CAPTION>教师信息表</CAPTION>");

out.println("<TR><TD>姓名</TD>" + "<TD>" +

  (String)hashTable.get(new String("name")) + "</TD></TR>");

out.println("<TR><TD>学院</TD>" + "<TD>" +

  (String)hashTable.get(new String("college"))+"</TD></TR>");

out.println("<TR><TD>电话</TD>" + "<TD>" +

  (String)hashTable.get(new String("telephone")) + "</TD></TR>");

out.println("<TR><TD>备注</TD>" + "<TD>" +

  (String)hashTable.get(new String("notes")) + "</TD></TR>");

out.println("</TABLE>");

%>

</BODY>

</HTML>

 

posted on 2006-03-31 13:15 MEYE 阅读(3302) 评论(0)  编辑  收藏 所属分类: JAVAStudy

只有注册用户登录后才能发表评论。


网站导航: