引言:在日常编码中,我们接触最多的除了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相关推荐

  1. Java:PULLXML解析XML(内附jar包链接)

    Java:PULLXML解析XML 资源下载: https://download.csdn.net/download/qq_34810707/10778410 或者https://share.weiy ...

  2. Java 使用 Dom4j 解析 XML 指南

    Java 使用 Dom4j 解析 XML 指南 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用 ...

  3. dom4j java对象_dom4j解析XML成对象

    最近不太忙,发现现在服务之间的交互都是通过xml进行的,所以今天理了一下xml的两种解析方式.首先是最流行的dom4j解析.先解析,然后通过反射转成对象. 用到的jar:dom4j-1.6.1.jar ...

  4. Java中Dom解析XML

    DOM将整个XML文件加载到内存中,并构建出节点树:应用程序可以通过遍历节点树的方式来解析XML文件中的各个节点.属性等信息: 这种方式便于对XML节点的添加修改等,而且解析也很方便,然后它比较耗费内 ...

  5. Java用SAX解析XML

    2019独角兽企业重金招聘Python工程师标准>>> Myhandler package com.heli.xml.sax;/*** 用SAX解析XML的Handler*/ imp ...

  6. java之DocumentBuilderFactory解析xml

    1.About documentBuilderFactory API description 1). javax.xml.parsers 包DocumentBuilderFactory创建DOM模式的 ...

  7. java sax解析xml_【转】java使用sax解析xml文件

    从下面这个url搬运.http://hck.iteye.com/blog/1175762 不过程序略有改动. 关于sax(搬自百科) SAX,全称Simple API for XML,既是指一种接口, ...

  8. Java 使用SAX解析XML文档

    DOM,即Document Object Model,中文叫文档对象模型.DOM是W3C定义的标准文档对象模型,是一个与操作系统和编程语言无关的.用于内存存储和操作层次化文档的模型.当按 照DOM模型 ...

  9. Java利用dom4j解析XML任意节点和属性

    分享一个Java解析XML字符串的方法,利用了dom4j,递归.可解析任意节点及节点属性值. package test; import java.io.IOException; import java ...

最新文章

  1. nginx虚拟目录配置
  2. logstash使用,结果输出到stdout
  3. 《软件架构与设计模式》关于 抽象工厂模式 的一个小例子
  4. 工作缺点和不足及措施_安全生产 | 查不足 定措施 抓落实 强管理 圣雄氯碱组织开展“事故回头看”工作...
  5. php json.parse,JSON.parse()与JSON.stringify()和eval()使用方法详解
  6. 学成在线--13.RabbitMQ工作模式
  7. 一个间歇性进程hang问题的处理
  8. JDK 安装 Java环境变量配置 详细教程
  9. python打开360浏览器_使用python3.7 的pycharm selenium自动化测试中启动360浏览器、360极速浏览器的方法...
  10. 震旦188e扫描_震旦ad188打印机无法扫描怎么处理
  11. Java开发webservice接口
  12. 防水穿墙套管在建筑外墙管道需设置柔性连接
  13. 魔方还原算法(三) 上帝算法
  14. 字符转详细与初步了解for循环
  15. 基于51单片机的电压检测系统设计(#0412)
  16. 【基础教程】法线贴图原理与制作 粗解
  17. 突然断电对oracle的影响,Oracle数据库之由于突然断电造成oracle数据库的部分clob字段值变为(损毁)...
  18. python 调用百度云端人脸搜索
  19. grpc-gateway 返回值中默认值为什么不显示?
  20. C语言程序设计谭浩强第五版复习梳理2

热门文章

  1. 天地有情尽白发,人间无意了沧桑
  2. 解决软件快捷键不可用的问题
  3. Python实现模拟按键和改键精灵
  4. 38个常用的Python库
  5. mybatis报空指针异常的几种原因
  6. 好机会!IT工程师恭喜了!纳入工信部-工业互联网人才库!8月31日报名截止
  7. Sublime 3 中文显示乱码解决方法
  8. 几个编程语言的优缺点
  9. 美颜滤镜:早已不是简单的磨皮美白
  10. android 下载apk安装后自动启动,下载apk并启动安装