java使用dom4j解析xml文件
引入pom文件
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.0.0</version>
</dependency>
需要解析的xml文件如下:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<TuitionViewResponse xmlns="http://www.szhtkj.com.cn/">
<TuitionViewResult>
<ReturnCode>00000</ReturnCode>
<ReturnMsg>查询成功</ReturnMsg>
<Xh>xxxxxxxxxxxx</Xh>
<Xm>xxx</Xm>
<Content>
<Info>
<Sfqjdm>2016</Sfqjdm>
<Sfqjmc>2016</Sfqjmc>
<Sfxmdm>012002</Sfxmdm>
</Info>
<Info>
<Sfqjdm>2016</Sfqjdm>
<Sfqjmc>2016</Sfqjmc>
<Sfxmdm>013</Sfxmdm>
</Info>
</Content>
</TuitionViewResult>
</TuitionViewResponse>
</soap:Body>
</soap:Envelope>
为了方便下方测试代码直接将xml内容用String储存
package com.dzqc.yx.dom;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class Dom4jTest {
public static void main(String[] args) {
String s="<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" +
" <soap:Body>\r\n" +
" <TuitionViewResponse xmlns=\"http://www.szhtkj.com.cn/\">\r\n" +
" <TuitionViewResult>\r\n" +
" <ReturnCode>00000</ReturnCode>\r\n" +
" <ReturnMsg>查询成功</ReturnMsg>\r\n" +
" <Xh>xxxxxxxxxxxx</Xh>\r\n" +
" <Xm>xxx</Xm>\r\n" +
" <Content>\r\n" +
" <Info>\r\n" +
" <Sfqjdm>2016</Sfqjdm>\r\n" +
" <Sfqjmc>2016</Sfqjmc>\r\n" +
" <Sfxmdm>012002</Sfxmdm>\r\n" +
" </Info>\r\n" +
" <Info>\r\n" +
" <Sfqjdm>2016</Sfqjdm>\r\n" +
" <Sfqjmc>2016</Sfqjmc>\r\n" +
" <Sfxmdm>013</Sfxmdm>\r\n" +
" </Info>\r\n" +
" </Content>\r\n" +
" </TuitionViewResult>\r\n" +
" </TuitionViewResponse>\r\n" +
" </soap:Body>\r\n" +
"</soap:Envelope>";
getXmlAttribute(s);
}
public static void getXmlAttribute(String soap) {
try {
Document document = DocumentHelper.parseText(soap);
Element envelope = document.getRootElement();
System.out.println(envelope.getName());
Element body=envelope.element("Body");
System.out.println("\t"+body.getName());
Element tuitionViewResponse=body.element("TuitionViewResponse");
System.out.println("\t\t"+tuitionViewResponse.getName());
Element tuitionViewResult=tuitionViewResponse.element("TuitionViewResult");
System.out.println("\t\t\t"+tuitionViewResult.getName());
Element returnCode=tuitionViewResult.element("ReturnCode");
System.out.println("\t\t\t\t"+returnCode.getName()+" :<"+returnCode.getTextTrim()+">");
Element returnMsg=tuitionViewResult.element("ReturnMsg");
System.out.println("\t\t\t\t"+returnMsg.getName()+" :<"+returnMsg.getTextTrim()+">");
Element xh=tuitionViewResult.element("Xh");
System.out.println("\t\t\t\t"+xh.getName()+" :<"+xh.getTextTrim()+">");
Element xm=tuitionViewResult.element("Xm");
System.out.println("\t\t\t\t"+xm.getName()+" :<"+xm.getTextTrim()+">");
Element content=tuitionViewResult.element("Content");
List<Element> infos=content.elements("Info");
for(Element info:infos) {
System.out.println("\t\t\t\t\t"+info.getName());
Element sfqjdm = info.element("Sfqjdm");
System.out.println("\t\t\t\t\t\t"+sfqjdm.getName()+" :<"+sfqjdm.getTextTrim()+">");
Element sfqjmc = info.element("Sfqjmc");
System.out.println("\t\t\t\t\t\t"+sfqjmc.getName()+" :<"+sfqjmc.getTextTrim()+">");
Element sfxmdm = info.element("Sfxmdm");
System.out.println("\t\t\t\t\t\t"+sfxmdm.getName()+" :<"+sfxmdm.getTextTrim()+">");
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
解析输出结果如下
Envelope
Body
TuitionViewResponse
TuitionViewResult
ReturnCode :<00000>
ReturnMsg :<查询成功>
Xh :<xxxxxxxxxxxx>
Xm :<xxx>
Info
Sfqjdm :<2016>
Sfqjmc :<2016>
Sfxmdm :<012002>
Info
Sfqjdm :<2016>
Sfqjmc :<2016>
Sfxmdm :<013>
评论区
请写下您的评论...
猜你喜欢
java基础
1249
核心类ZipInputStream的api文档请参考:https://nowjava.com/docs/java-api-11/java.base/java/util/zip
blog
java使用minio上传文件
minio
2656
创建buckets
创建serviceaccounts
java上传文件
maven依赖:
dependency
groupIdio.minio/groupId
weblog
2765
java使用easypoi导出并下载excel文件简单导出测试如图:一、pom文件dependencygroupIdcn.afterturn/groupIdartifactIdeasypoi
java基础
1247
核心类ZipOutputStream的api文档请参考:https://nowjava.com/docs/java-api-11/java.base/java/util/zip
blog
java使用FTP上传文件
工具
2670
pom依赖dependencygroupIdcommons-net/groupIdartifactIdcommons-net/artifactIdversion3.6/version/dependencyFTP服务类packageclub.jiajiajia.bulider.service;importjava.io.IOException;importjava.io.InputStream;im
java基础
7093
一、获取系统临时文件目录二、java的系统属性有哪些File.createTempFile创建临时文件一、获取系统临时文件目录通过java的系统属性获取Stringtmpdir
算法基础
2008
前端项目正式发布时一般需要混淆压缩js、css文件等,一方面压缩能够使文件体积更小,更多的节约网络io资源,另一方面能避免被人读懂你的代码!!!!!!工具可以使用uglifyjs2。安装通过npm安
blog
使用rclone管理minio文件
minio
2042
rclone下载地址:https://rclone.org/downloads/
解压文件包:
unziprclone-v1.59.0-linux-amd64.zip
cdcdrclone
最新发表
归档
2018-11
12
2018-12
33
2019-01
28
2019-02
28
2019-03
32
2019-04
27
2019-05
33
2019-06
6
2019-07
12
2019-08
12
2019-09
21
2019-10
8
2019-11
15
2019-12
25
2020-01
9
2020-02
5
2020-03
16
2020-04
4
2020-06
1
2020-07
7
2020-08
13
2020-09
9
2020-10
5
2020-12
3
2021-01
1
2021-02
5
2021-03
7
2021-04
4
2021-05
4
2021-06
1
2021-07
7
2021-08
2
2021-09
8
2021-10
9
2021-11
16
2021-12
14
2022-01
7
2022-05
1
2022-08
3
2022-09
2
2022-10
2
2022-12
5
2023-01
3
2023-02
1
2023-03
4
2023-04
2
2023-06
3
2023-07
4
2023-08
1
2023-10
1
2024-02
1
2024-03
1
2024-04
1
2024-08
1
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
srs
音视频
webrtc
javascript
加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。