源代码如下:
package com.xml;import java.io.*;
import java.util.Vector;
import java.sql.*;
import javax.xml.parsers.*;
import org.apache.crimson.tree.*;
import org.w3c.dom.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.OutputKeys;
import java.util.Properties;
import com.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CXml extends HttpServlet
{
public void NewXML(String sql)
{
Document doc;
ProcessingInstruction pi;
Element people = null;
Element person = null;
Element userLoginNode = null;
Element nameNode = null;
Element emailNode = null;
Element telNode = null;
Element addressNode = null; Connection conn = null;
Statement stat = null;
ResultSet rs = null; try
{
conn = DBFactory.getConnection();
stat = conn.createStatement();
rs=stat.executeQuery(sql); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
doc = builder.newDocument();
pi = doc.createProcessingInstruction("xml-stylesheet","type=\"text/xsl\" href=\"userinfo.xsl\"");
doc.appendChild(pi);
people = doc.createElement("people");
while(rs.next())
{ person = doc.createElement("person");
people.appendChild(person); userLoginNode = doc.createElement("userLogin");
userLoginNode.appendChild(doc.createTextNode(rs.getString("user_login")));
person.appendChild(userLoginNode); nameNode = doc.createElement("name");
nameNode.appendChild(doc.createTextNode(rs.getString("user_name")));
person.appendChild(nameNode); if(!rs.getString("user_email").equals(""))
{
emailNode = doc.createElement("email");
emailNode.appendChild(doc.createTextNode(rs.getString("user_email")));
person.appendChild(emailNode);
} if(!rs.getString("user_tel").equals(""))
{
telNode = doc.createElement("tel");
telNode.appendChild(doc.createTextNode(rs.getString("user_tel")));
person.appendChild(telNode);
} if(!rs.getString("user_address").equals(""))
{
addressNode = doc.createElement("address");
addressNode.appendChild(doc.createTextNode(rs.getString ("user_address")));
person.appendChild(addressNode);
}
}
doc.appendChild(people);
DOMSource source = new DOMSource(doc);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
Properties properties = transformer.getOutputProperties();
properties.setProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperties(properties);
StreamResult result = new StreamResult("d:/temp/c.xml");
transformer.transform(source, result);
}
catch(Exception e)
{
e.printStackTrace();
} } protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
String sql = "select * from user_info order by user_login desc limit 3";
this.NewXML(sql); }
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
doPost(request,response);
}
}
package com.xml;import java.io.*;
import java.util.Vector;
import java.sql.*;
import javax.xml.parsers.*;
import org.apache.crimson.tree.*;
import org.w3c.dom.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.OutputKeys;
import java.util.Properties;
import com.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CXml extends HttpServlet
{
public void NewXML(String sql)
{
Document doc;
ProcessingInstruction pi;
Element people = null;
Element person = null;
Element userLoginNode = null;
Element nameNode = null;
Element emailNode = null;
Element telNode = null;
Element addressNode = null; Connection conn = null;
Statement stat = null;
ResultSet rs = null; try
{
conn = DBFactory.getConnection();
stat = conn.createStatement();
rs=stat.executeQuery(sql); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
doc = builder.newDocument();
pi = doc.createProcessingInstruction("xml-stylesheet","type=\"text/xsl\" href=\"userinfo.xsl\"");
doc.appendChild(pi);
people = doc.createElement("people");
while(rs.next())
{ person = doc.createElement("person");
people.appendChild(person); userLoginNode = doc.createElement("userLogin");
userLoginNode.appendChild(doc.createTextNode(rs.getString("user_login")));
person.appendChild(userLoginNode); nameNode = doc.createElement("name");
nameNode.appendChild(doc.createTextNode(rs.getString("user_name")));
person.appendChild(nameNode); if(!rs.getString("user_email").equals(""))
{
emailNode = doc.createElement("email");
emailNode.appendChild(doc.createTextNode(rs.getString("user_email")));
person.appendChild(emailNode);
} if(!rs.getString("user_tel").equals(""))
{
telNode = doc.createElement("tel");
telNode.appendChild(doc.createTextNode(rs.getString("user_tel")));
person.appendChild(telNode);
} if(!rs.getString("user_address").equals(""))
{
addressNode = doc.createElement("address");
addressNode.appendChild(doc.createTextNode(rs.getString ("user_address")));
person.appendChild(addressNode);
}
}
doc.appendChild(people);
DOMSource source = new DOMSource(doc);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
Properties properties = transformer.getOutputProperties();
properties.setProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperties(properties);
StreamResult result = new StreamResult("d:/temp/c.xml");
transformer.transform(source, result);
}
catch(Exception e)
{
e.printStackTrace();
} } protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
String sql = "select * from user_info order by user_login desc limit 3";
this.NewXML(sql); }
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
doPost(request,response);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货