java 读取数据库数据转化输出XML输出在jsp页面

因为老师实验报告要求,搭建服务端解析XML

下面代码实现转化XML格式也是在网上找的转化代码

输出在jsp页面以便于客户端解析是自己写的

一个类就解决了Test

package tests;
//三只坚果
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.apache.crimson.tree.XmlDocument;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.FileNotFoundException;

public class Test
{
static Connection conn=null;
static String sql;
static String url="jdbc:mysql://localhost:3306/mhf";

public static void main(String[] args){
	Test test=new Test();
	 test.xmlShow();
}

	public String xmlShow() {
		String comps = null;
		try { // 链接数据库,取得数据
				// Class.forName("oracle.jdbc.driver.OracleDriver");//oracle数据库
			Class.forName("com.mysql.jdbc.Driver");// mysql数据库

			conn = DriverManager.getConnection(url, "root", "123");
			Statement st = conn.createStatement();
			ResultSet rs = st.executeQuery("select * from table_name");

			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();
			Document doc = builder.newDocument();

			Element comp = doc.createElement("COMP");

			while (rs.next()) {
				Element person = doc.createElement("PERSON");

				Element deptno = doc.createElement("CITY");// 城市
				deptno.appendChild(doc.createTextNode(String.valueOf(rs.getString(1))));
				person.appendChild(deptno);

				Element dname = doc.createElement("WEATHER");// 天气
				dname.appendChild(doc.createTextNode(new Test().xmlReplace(rs.getString(2))));
				person.appendChild(dname);

				Element loc = doc.createElement("TEM");// 温度
				loc.appendChild(doc.createTextNode(new Test().xmlReplace(rs.getString(3))));
				person.appendChild(loc);
				comp.appendChild(person);
			}
			rs.close();
			st.close();
			conn.close();
			doc.appendChild(comp);
			/* ((XmlDocument) doc).write(new FileOutputStream("src/weathers.xml")); */

			comps = comp.toString();

			System.out.println(comp);// 打印数据
			System.out.println("操作成功!!!");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e1) {
			e1.printStackTrace();
		} catch (ParserConfigurationException e2) {
			e2.printStackTrace();
		} /*
			 * catch (FileNotFoundException e3) { e3.printStackTrace(); } catch (IOException
			 * e4) { e4.printStackTrace(); }
			 */
		System.out.print("!!!!!" + comps + "!!!!!");
		return comps;
	}
public String xmlReplace(String value){
   //value=value.replace("&", "&");
//   value=value.replace("<", "<");
//   value=value.replace(">", ">");
//   value=value.replace("‘", "‘");
   value=value.replace( "<","<");
   value=value.replace( ">",">");
   value=value.replace( "‘","‘");
// value.replace("""", """);

    return value;
}

}

  jsp页面

<%@page import="com.sun.xml.internal.bind.v2.schemagen.xmlschema.Import"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
     <!-- 这个标签很重要 -->
 <xmp>
<%@ page import="tests.*"%>
<%
    Test te=new Test();
%>
<%=te.xmlShow()%>
</xmp>

  转化后输出页面<>不见了后来折腾半小时加了<xmp></xmp>完美解决

三个包别忘了!!!提前祝福端午节快了!!!

原文地址:https://www.cnblogs.com/july7/p/10987057.html

时间: 2024-10-09 01:17:10

java 读取数据库数据转化输出XML输出在jsp页面的相关文章

Java读取数据库数据生成柱状图

此案例是用swing显示数据的.需要引入jfreechart相关包,不同版本可能包不相同,本人用的是 此案例在ssi框架下会报错,不用框架就没问题. Java后台逻辑代码: public class BarChart { ChartPanel frame1; public BarChart() { CategoryDataset dataset = getDataSet(); JFreeChart chart = ChartFactory.createBarChart3D("水果",

ABAP内表数据做层次XML输出

*&---------------------------------------------------------------------**& Report  Z_BARRY_TEST_XML*&---------------------------------------------------------------------**& 46C - ECC6 通用*&----------------------------------------------

读取数据库数据,并将数据整合成3D饼图在jsp中显示

首先我将生成饼图的方法独立写成一个PieChar.java类,详细代码如下:(数据库需要自己建,如有需要的话) 1 import java.io.IOException; 2 import java.sql.SQLException; 3 import org.jfree.chart.ChartFactory; 4 import org.jfree.chart.JFreeChart; 5 import org.jfree.data.general.DefaultPieDataset; 6 7 p

java读取数据库时间结尾多了.0知识总结

问题: java读取数据库时间,发现显示的时间最后面多了.0 解决办法: 采用JSTC国际化标签,在使用这个标签时只需要修改你需要显示的数据value(第一步记得导入标签库) <fmt:formatDate type="time" value="${list.presetTime }" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate>

python读取数据库数据,读取出的中文乱码问题

最近遇到python读取数据库数据,读取出的中文乱码问题, 网络搜索的基本是: "1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)2. MySQL数据库charset=utf-83. Python连接MySQL是加上参数 charset=utf84. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)" 这些,一一尝试后仍未解决.去数据库查看了下,发现这个出现中文乱码的字段类型是varcha

(转)java读取数据库表信息,子段

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /*** * 2014-07-21日: * oracle数据

读取数据库数据填充到缓存的问题,及修复方案一则

业务简述: 为了提高站点性能,部署了一台Redis,把资源从SqlServer数据库中同步到Redis,站点由原来的读取数据库,变更为读取Redis,以利用Redis的高并发提升站点性能目的. 环境说明: 1.假设表名为softs, 记录的更新时间字段名为 updateTime: 2.不考虑数据库的DELETE操作,只考虑INSERT和UPDATE操作: 3.流程中所有时间,都以数据库时间为准,以避免不同服务器之间的时间误差,导致数据遗漏. 4.重要的前提条件:数据库执行INSERT和UPDAT

Java读取接口数据并保存到数据库

public class Test05GetData { //guo sheng shi xian zhen cun的表结构完全一样.数据全部读取完毕之后再将数据整合到同一张表中 protected static String parentTable = "sheng";// 父表 protected static String insertTable = "shi";// 字表 protected static String daima = ""

Java将数据库数据导入EXCEL

一般的数据库数据怎么导入excel中呢??这让人非常疑惑,今天我找到了一个方法能够实现 须要导入一个第三方包下载地址 详细内容例如以下: 里面含有指导文档,index.html里面含有怎样读取数据库文件到excel和excel数据到数据库中. 主要用到一个包 将这个包复制到项目里面就能够了. 先做一个简单版本号的helloword <span style="white-space:pre"> </span>public void mkexcel() throws