解析xml流
发布时间:2020-12-15 23:48:24 所属栏目:百科 来源:网络整理
导读:Xml格式数据通过http协议传入,这边接收请求、解析、调用、传出。 在一个Servlet中来对传入的xml流进行操作: Java代码 /** *重载方法 *@paramrequestrequest *@paramresponseresponse */ public void doPost(HttpServletRequestrequest,HttpServletResponse
Xml格式数据通过http协议传入,这边接收请求、解析、调用、传出。
在一个Servlet中来对传入的xml流进行操作:
/** * 重载方法 * @param request request * @param response response */ public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { Document doc = buildDucument(request.getInputStream()); String name = doc.getRootElement().getChildText("name"); String age = doc.getRootElement().getChildText("age"); String country = doc.getRootElement().getChildText("country"); Student student = new Student(); student.setName(); student.setAge(); student.setCountry(); } 我们根据请求中携带的xml输入流来获取xml数据的一个Document(即头结点),再解析xml来获取每个节点的值,然后把值放入相应的实体类(即Student类)中。 下面是我们对此操作所需要的一些类和方法。 学生信息的实体类:
public class Student { private String name; private int age; private String country; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } } 学生信息的xml文件:
<?xml version="1.0" encoding="utf-8"?> <student> <name>Tom</name> <age>25</age> <country>China</country> </student> 通过输入源构造一个Document:
public static Document buildDucument(InputStream inputStream) { InputSource source; // 创建一个新的SAXBuilder SAXBuilder builder = new SAXBuilder(); try { source = new InputSource(inputStream); // 通过输入源构造一个Document return builder.build(source); } catch (Exception e) { e.getMessage(); } return null; } 上述方法是根据传入的xml输入流来构造出一个Document,以备解析之用。 那该如何来构造一个请求,其中携带着xml数据呢? 我们可以用Perl语言来写一个脚本,来模拟这个请求。如附件 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 对cocos2d 之autorelease\ratain\release的理解
- ruby-on-rails – 拒绝连接(PGError)(postgresql和rails)
- XML和JavaBean之间的互转---XStream
- 图书推荐——疯狂Ajax讲义(第3版)——jQueryExt JSProtot
- Swift 圣战:干净的命名空间
- vb学生管理系统防止SQL注入两种方法
- 单一入口应用程序
- addEventListener函数
- rails连接postgresql错误:psql: 致命错误: 用户 "post
- hybrid computing using a neural network with dynamic ex