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 閱讀(3315) 評論(0)  編輯  收藏 所屬分類: JAVAStudy
          主站蜘蛛池模板: 昌都县| 蒙城县| 邢台县| 达拉特旗| 桦甸市| 渑池县| 义马市| 乌鲁木齐市| 山丹县| 体育| 隆林| 罗平县| 宁陕县| 湖口县| 河东区| 炉霍县| 晋江市| 平安县| 吴桥县| 阿坝县| 措美县| 蛟河市| 长岭县| 桑日县| 石阡县| 青海省| 拜城县| 准格尔旗| 铅山县| 资源县| 大冶市| 遵义县| 邻水| 沂南县| 金华市| 滨海县| 体育| 资兴市| 梅河口市| 邢台市| 安康市|