I am new to servlet programming. I need to read a xml file from a client using one. How can I do this?
Can anyone refer me to some example code? I'm able to parse xml using jaxb, but how can I get the xml itself from the client?
I am new to servlet programming. I need to read a xml file from a client using one. How can I do this?
Can anyone refer me to some example code? I'm able to parse xml using jaxb, but how can I get the xml itself from the client?
在这里你可以找到一个示例代码,另见下文。
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);
}
}
}
学习使用像谷歌这样的搜索引擎,他们有很多关于大多数基本和不那么基本的东西的方便教程
示例:
http://www.tutorialspoint.com/servlets/servlets-file-uploading.htm