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 閱讀(3321) 評論(0)  編輯  收藏 所屬分類: JAVAStudy
          主站蜘蛛池模板: 宜兰县| 恭城| 临汾市| 安丘市| 赤城县| 旬阳县| 休宁县| 澄城县| 彩票| 页游| 沧源| 滁州市| 调兵山市| 抚顺市| 大邑县| 鲁山县| 安远县| 成武县| 邢台市| 阿鲁科尔沁旗| 清丰县| 阜宁县| 杂多县| 喜德县| 青田县| 武邑县| 巫溪县| 枣强县| 夏津县| 和政县| 许昌县| 黎平县| 土默特左旗| 泊头市| 吉安市| 西平县| 旬阳县| 桓仁| 隆林| 白水县| 綦江县|