【问题标题】:How do I read xml file with a servlet? [closed]如何使用 servlet 读取 xml 文件? [关闭]
【发布时间】:2012-08-01 03:19:39
【问题描述】:

我是 servlet 编程的新手。我需要使用一个从客户端读取 xml 文件。我该怎么做?

谁能向我推荐一些示例代码?我可以使用 jaxb 解析 xml,但是如何从客户端获取 xml 本身?

【问题讨论】:

    标签: java xml servlets xml-parsing


    【解决方案1】:

    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);
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      学习使用像谷歌这样的搜索引擎,他们有很多关于大多数基本和不那么基本的东西的方便教程

      例子:

      http://www.tutorialspoint.com/servlets/servlets-file-uploading.htm

      【讨论】:

      • 同意,有些问题应该在提问之前记录一下
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多