当前位置: 代码迷 >> J2EE >> JSP接收POST XML字符串的有关问题
  详细解决方案

JSP接收POST XML字符串的有关问题

热度:106   发布时间:2016-04-17 22:57:50.0
JSP接收POST XML字符串的问题
想写个JSP,功能是接收对方POST过来的xml字符串,并从中取到节点下的内容打印出来。
代码如下:

<%
BufferedReader in = request.getReader();
InputSource source = new InputSource(in);
SAXBuilder sb = new SAXBuilder();
try {
UUID uuid = UUID.randomUUID();
Document doc = sb.build(source);
Element root = doc.getRootElement();
System.out.println(root.getName());
List jiedian = root.getChildren();
Namespace ns = root.getNamespace();
Element et = null;
         for(int i=0;i<jiedian.size();i++){
             et = (Element) jiedian.get(i);
         }
        String src_mobile = et.getChild("mobile",ns).getText();
        String msg = et.getChild("content",ns).getText();
        String date_time = et.getChild("receivetime",ns).getText();

String id = uuid.toString().replaceAll("\\-", "");

System.out.println("id = " + id);
System.out.println("src_mobile = " + src_mobile);
System.out.println("msg_content = " + msg);
System.out.println("date_time = " + date_time);


} catch(Exception ex) {
ex.printStackTrace();


%>

向以上jsp推送xml如下:

<?xml version=\"1.0\" encoding=\"utf-8\" ?>
 <returnsms>
 <type>1</type>
 <statusbox>
 <mobile>1350000000</mobile>
 <content>000</content>
 <receivetime>2015-10-27 14:01:47</receivetime>
 <seqno>SEQ</seqno>
 </statusbox>
</returnsms>

结果未能取到节点中的内容,请教各位资深老鸟,该如何修改才能取到
------解决思路----------------------
路径对不?为什么没取到,调试看看呢。
------解决思路----------------------
SAXReader reader = new SAXReader();
Document dom = reader.read(new File("C:/Users/HYGD/Desktop/hreport-application.xml"));
Element root = dom.getRootElement();
------解决思路----------------------
jsp里小脚本没法debug测,写个java类测试吧
  相关解决方案