首页 > 编程语言 >编程用JAVA解析XML的方式

编程用JAVA解析XML的方式

时间:2023-04-27 17:02:06浏览次数:48  
标签:XML JAVA String 编程 table println new public out


用SAX方式解析XML,XML文件如下:

<?xml version="1.0" encoding="gb2312"?> 

<person> 

<name>王小明</name> 

<college>信息学院</college> 

<telephone>6258113</telephone> 

<notes>男,1955年生,博士,95年调入海南大学</notes> 

</person>

 事件回调类SAXHandler.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内容显示源码,SaxXml.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" %> 

<%@ page import="SAXHandler" %> 

<% 

File file = new File("c:\people.xml"); 

FileReader reader = new FileReader(file); 

Parser parser; 

SAXParserFactory spf = SAXParserFactory.newInstance(); 

SAXParser sp = spf.newSAXParser(); 

SAXHandler handler = new 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>

 

黑色头发  http://heisetoufa.iteye.com

如果发现本文有误,欢迎批评指正

标签:XML,JAVA,String,编程,table,println,new,public,out
From: https://blog.51cto.com/u_2543512/6231832

相关文章

  • 前端JavaScript的精确计算问题
    问题发现"47.900000"*"771.65" = 36962.034999999996 (错误)  36962.035(正确)问题定位JavaScript前端计算不精确(浮点数计算的精确问题)问题解决除法函数,用来得到精确的除法结果说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比......
  • javascript通过按钮实现超链接
    <html:buttonproperty="PassWordReturnButton"onclick="PassWordReturnJavaScript();">返回</html:button><scriptlanguage="javascript"type="text/javascript">functionPassWordReturnJavaScript(){win......
  • java 类似于google搜索提示的功能,文本框输入提示
    需要先导入数据库,并且在SearchSuggest中改数据库连接参数黑色头发:http://heisetoufa.iteye.com/......
  • 编程开发8大语言详解,为什么Java是我最推荐的?
    一.前言很多没有接触过编程语言的同学,都会觉得编程开发特别高端和神奇,担心理解不了更担心学不会。当然,也有人会认为,你既然是做编程的,那么你应该什么都会,什么软件的开发都能完成,这是平哥经常听到的两种声音。在此,平哥需要给大家科普一下,编程确实改变了这个世界,但这是所有编程人......
  • java处理逻辑表达式计算问题
    在处理SQL的where条件时,发现逻辑运算表达式不是那么简单,并不是一种线型计算结构。但是表达式树的计算又是SQL查询引擎的核心,SQL的抽象语法树最终还是要转换为表达式树来处理。所以基于原来的表达式案例,进行简单的升级,写了一个简单的逻辑表达式处理器。首先我们的逻辑表达式的操......
  • JSON数据和JAVA对象之间的转换
    转:https://blog.csdn.net/qq_39975542/article/details/123947872方法1:利用阿里巴巴开源的fastjson包进行JAVA对象和JSON字符串进行转换。C++中的结构体在JAVA中用对象表示,目录结构如下: Peron类内容如下,对应C++中的Person结构体:packagecom.company;publicclassPerson{......
  • 【SWITCH】java中的switch,一直没发现的错误
    关于switch-case的的使用误区先看一段代码Integerbb=1;switch(bb){case1:System.out.println(1);case2:System.out.println(2);default:System.out.println(3);}会打印什么呢?只打印1,还是会打印123呢?答案是:123我......
  • 软件测试选择学习java还是python?
     你好,我是小牛。当你学完软件测试基本理论,掌握业务测试流程,功能测试可以搞定,数据库和linux玩的也很溜时,接下来想进一步进阶,那么学习一门编程语言必不可少。同时,学习一门编程语言也是你成为自动化测试工程师乃至测试开发工程师的基本准入门槛。目前,编程语言五花八门,比如很多人大学......
  • 软件测试如何提升编程能力?
    你好,我是小牛。现在是2020年了,快60岁的SOHO中国创始人潘石屹在个人微博上宣布开始学习python,令人佩服。小到中小学各种少儿编程班层出不穷,再到高中生的OI竞赛,佼佼者可以直接保送各种名校甚至清华姚班......在大学本科教育阶段,几乎所有学校的工科专业在大一或者大二都会学习一门编程......
  • JavaScript把数字转为汉字数字的function
    functionnumberToChinese(num){vardigits=["","一","二","三","四","五","六","七","八","九"];varunits=["","十",&quo......