因为老师实验报告要求,搭建服务端解析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>完美解决
三个包别忘了!!!提前祝福端午节快了!!!