如何使用servlet读取xml文件?
问题描述:
我是servlet编程的新手。我需要从客户端读取一个xml文件。我怎样才能做到这一点?如何使用servlet读取xml文件?
任何人都可以引用我的一些示例代码?我能够使用jaxb解析xml,但是如何从客户端获取xml本身?
答
HERE你可以找到一个示例代码,另见下文。
import java.io.*;
import org.w3c.dom.*;
import javax.servlet.*;
import javax.xml.parsers.*;
import javax.servlet.http.*;
public class ReadXML extends HttpServlet{
public boolean isTextNode(Node n){
return n.getNodeName().equals("#text");
}
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try{
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse("C:/roseindia.xml");
out.println("<table border=2><tr><th>Name</th><th>Address</th></tr>");
Element element = doc.getDocumentElement();
NodeList personNodes = element.getChildNodes();
for (int i=0; i<personNodes.getLength(); i++){
Node emp = personNodes.item(i);
if (isTextNode(emp))
continue;
NodeList NameDOBCity = emp.getChildNodes();
out.println("<tr>");
for (int j=0; j<NameDOBCity.getLength(); j++){
Node node = NameDOBCity.item(j);
if (isTextNode(node))
continue;
out.println("<td>"+(node.getFirstChild().getNodeValue())+"</td>");
}
out.println("</tr>");
}
out.println("</table>");
}
catch(Exception e){
System.out.println(e);
}
}
}
答
学会使用搜索引擎如谷歌,他们有很多方便的教程在大多数的基本的和不那么基本的东西
exmpale:
http://www.tutorialspoint.com/servlets/servlets-file-uploading.htm
同意,有些问题应该在询问之前有点记录 – 2013-07-25 15:43:50