手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Java中解析xml报文的两种方式

时间:2024-11-02 10:26:48

1、第一种方式很简单,但是有缺陷,我先说说怎么弄,待会再来说缺陷。首先在pom.xml中引入需要依赖的jar文件(maven项目直接依赖就行),如果不是maven管理的话自己手动去网上下载一下jar吧,也没什么!

Java中解析xml报文的两种方式

2、然后就是应用了,下图是比较正常的xml报文格式,先把我的xml报文给你们看一下吧!

Java中解析xml报文的两种方式

3、import net.sf.json.xml.XMLSerializer;引入后通过JSON respJson = new XMLSerializer().read(responseXml);方法把webservice那边传过来的xml报文(responseXml)解析成JSON。然后 JSONObject jsonObject = JSONObject.fromObject(respJson);转成json对象我们就能通过相应的节点一步一步去拿到里面的值了,如果是对json比较熟悉的同学的话用这种方式应该很好理解!

Java中解析xml报文的两种方式

4、但是!!!这种方式如果是碰到比较奇葩一点的xml报文的话就比较尴尬了,比如下图这种,就非得多添加几个节点!然后你用XMLSerializer()去解析的时候就会发现程序并没有那么智能,它分不清你是一个list还是一个单节点,这个时候你就得手动去处理了,没有什么好的方式。还有一点得特别注意:就是我们自己手动写了一个xml报文去做测试和你调用别人接口然后解析出来的结果是不一样的,这个也是一个比较奇葩的地方,如果有条件的话最好还是通过请求webservice接口拿到xml报文然后再去解析,别自己去写一个静态的xml报文然后解析。我就遇到过这种情况,特别坑。

Java中解析xml报文的两种方式
© 手抄报圈