如何使用servlet读取xml文件?

如何使用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

+0

同意,有些问题应该在询问之前有点记录 – 2013-07-25 15:43:50