核心(Hutool-core)工具类(XML工具-XmlUtil)
由来
在日常编码中,我们接触最多的除了JSON外,就是XML格式了,一般而言,我们首先想到的是引入Dom4j包,却不知JDK已经封装有XML解析和构建工具:w3c dom。但是由于这个API操作比较繁琐,因此Hutool中提供了XmlUtil简化XML的创建、读和写的过程。
使用
读取XML
读取XML分为两个方法:
XmlUtil.readXML 读取XML文件
XmlUtil.parseXml 解析XML字符串为Document对象
写XML
XmlUtil.toStr 将XML文档转换为String
XmlUtil.toFile 将XML文档写入到文件
创建XML
XmlUtil.createXml 创建XML文档, 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,即XML在转为文本的时候才定义编码。
XML操作
通过以下工具方法,可以完成基本的节点读取操作。
XmlUtil.cleanInvalid 去除XML文本中的无效字符
XmlUtil.getElements 根据节点名获得子节点列表
XmlUtil.getElement 根据节点名获得第一个子节点
XmlUtil.elementText 根据节点名获得第一个子节点的文本值
XmlUtil.transElements 将NodeList转换为Element列表
XML与对象转换
writeObjectAsXml 将可序列化的对象转换为XML写入文件,已经存在的文件将被覆盖。
readObjectFromXml 从XML中读取对象。
注意 这两个方法严重依赖JDK的XMLEncoder和XMLDecoder,生成和解析必须成对存在(遵循固定格式),普通的XML转Bean会报错。
Xpath操作
Xpath的更多介绍请看文章:https://www.ibm.com/developerworks/cn/xml/x-javaxpathapi.html(opens new window)
createXPath 创建XPath
getByXPath 通过XPath方式读取XML节点等信息
栗子:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!