Java 使用XmlUtil解析Xml
引言:在日常编码中,我们接触最多的除了JSON外,就是XML格式了,一般而言,我们首先想到的是引入Dom4j包,却不知JDK已经封装有XML解析和构建工具:w3c dom。但是由于这个API操作比较繁琐,因此Hutool中提供了XmlUtil简化XML的创建、读和写的过程。
参考工具类:Hutool是一个小而全的Java工具类库
参考文档:
Xpath操作:
Xpath的更多介绍请看文章:https://www.ibm.com/developerworks/cn/xml/x-javaxpathapi.html
createXPath:创建XPath
getByXPath:通过XPath方式读取XML节点等信息
例子:
<?xml version="1.0" encoding="utf-8"?><returnsms> <returnstatus>Success(成功)</returnstatus> <message>ok</message> <remainpoint>1490</remainpoint> <taskID>885</taskID> <successCounts>1</successCounts>
</returnsms>
读取代码:
Document docResult=XmlUtil.readXML(xmlFile);
//结果为“ok”
Object value = XmlUtil.getByXPath("//returnsms/message", docResult, XPathConstants.STRING);
核心代码:
/*** 解析响应报文xml*/
private XmlResult parseResponseXml(String xml) {// 自定义xml实体类XmlResult result = new XmlResult();Document doc = XmlUtil.readXML(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8)));result.setName(getTagValueByPath(doc,"//MESSAGE/NAME"));result.setPhone(getTagValueByPath(doc, "//MESSAGE/PHONE"));result.setAddress(getTagValueByPath(doc, "//MESSAGE/ADDRESS"));
}/*** 根据xml标签路径获取标签值*/
private String getTagValueByPath(Document document, String path) {return String.valueOf(XmlUtil.getByXPath(path, document, XPathConstants.STRING));
}
Java 使用XmlUtil解析Xml相关推荐
- Java:PULLXML解析XML(内附jar包链接)
Java:PULLXML解析XML 资源下载: https://download.csdn.net/download/qq_34810707/10778410 或者https://share.weiy ...
- Java 使用 Dom4j 解析 XML 指南
Java 使用 Dom4j 解析 XML 指南 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用 ...
- dom4j java对象_dom4j解析XML成对象
最近不太忙,发现现在服务之间的交互都是通过xml进行的,所以今天理了一下xml的两种解析方式.首先是最流行的dom4j解析.先解析,然后通过反射转成对象. 用到的jar:dom4j-1.6.1.jar ...
- Java中Dom解析XML
DOM将整个XML文件加载到内存中,并构建出节点树:应用程序可以通过遍历节点树的方式来解析XML文件中的各个节点.属性等信息: 这种方式便于对XML节点的添加修改等,而且解析也很方便,然后它比较耗费内 ...
- Java用SAX解析XML
2019独角兽企业重金招聘Python工程师标准>>> Myhandler package com.heli.xml.sax;/*** 用SAX解析XML的Handler*/ imp ...
- java之DocumentBuilderFactory解析xml
1.About documentBuilderFactory API description 1). javax.xml.parsers 包DocumentBuilderFactory创建DOM模式的 ...
- java sax解析xml_【转】java使用sax解析xml文件
从下面这个url搬运.http://hck.iteye.com/blog/1175762 不过程序略有改动. 关于sax(搬自百科) SAX,全称Simple API for XML,既是指一种接口, ...
- Java 使用SAX解析XML文档
DOM,即Document Object Model,中文叫文档对象模型.DOM是W3C定义的标准文档对象模型,是一个与操作系统和编程语言无关的.用于内存存储和操作层次化文档的模型.当按 照DOM模型 ...
- Java利用dom4j解析XML任意节点和属性
分享一个Java解析XML字符串的方法,利用了dom4j,递归.可解析任意节点及节点属性值. package test; import java.io.IOException; import java ...
最新文章
- nginx虚拟目录配置
- logstash使用,结果输出到stdout
- 《软件架构与设计模式》关于 抽象工厂模式 的一个小例子
- 工作缺点和不足及措施_安全生产 | 查不足 定措施 抓落实 强管理 圣雄氯碱组织开展“事故回头看”工作...
- php json.parse,JSON.parse()与JSON.stringify()和eval()使用方法详解
- 学成在线--13.RabbitMQ工作模式
- 一个间歇性进程hang问题的处理
- JDK 安装 Java环境变量配置 详细教程
- python打开360浏览器_使用python3.7 的pycharm selenium自动化测试中启动360浏览器、360极速浏览器的方法...
- 震旦188e扫描_震旦ad188打印机无法扫描怎么处理
- Java开发webservice接口
- 防水穿墙套管在建筑外墙管道需设置柔性连接
- 魔方还原算法(三) 上帝算法
- 字符转详细与初步了解for循环
- 基于51单片机的电压检测系统设计(#0412)
- 【基础教程】法线贴图原理与制作 粗解
- 突然断电对oracle的影响,Oracle数据库之由于突然断电造成oracle数据库的部分clob字段值变为(损毁)...
- python 调用百度云端人脸搜索
- grpc-gateway 返回值中默认值为什么不显示?
- C语言程序设计谭浩强第五版复习梳理2