当前位置: 首页 > news >正文

XML内容解析成实体类

XML解析成实体类

  • 解析方法
    • 实体类
    • 测试

说明:直接上干货,不废话

解析方法

public static List<PlatJuMinBaoXian> parse(String xmlString) {List<PlatJuMinBaoXian> result = new ArrayList<>();try {// 创建 DocumentBuilderDocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();// 将字符串转换为输入流ByteArrayInputStream input = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));// 解析 XMLDocument document = builder.parse(input);document.getDocumentElement().normalize();// 获取所有 <r> 标签NodeList nodeList = document.getElementsByTagName("r");// 遍历每个 <r> 标签for (int i = 0; i < nodeList.getLength(); i++) {Node node = nodeList.item(i);if (node.getNodeType() == Node.ELEMENT_NODE) {Element element = (Element) node;// 创建 PlatJuMinBaoXian 对象PlatJuMinBaoXian platJuMinBaoXian = new PlatJuMinBaoXian();platJuMinBaoXian.setJfxmbh(element.getAttribute("jfxmbh"));platJuMinBaoXian.setZznf(element.getAttribute("zznf"));platJuMinBaoXian.setQsnf(element.getAttribute("qsnf"));platJuMinBaoXian.setJfxmmc(element.getAttribute("jfxmmc"));platJuMinBaoXian.setJfxmje(element.getAttribute("jfxmje"));platJuMinBaoXian.setJfrq(element.getAttribute("jfrq"));// 添加到结果列表result.add(platJuMinBaoXian);}}} catch (Exception e) {e.printStackTrace();}return result;}

实体类

@Data
public class PlatJuMinBaoXian {//起始年月private String qsnf;//终止年月private String zznf;//缴费项目编号private String jfxmbh;//缴费项目名称private String jfxmmc ;//缴费金额private String jfxmje;//缴费日期private String jfrq;}

测试

public static void main(String[] args) {String xmlString = "<root>" +"<r jfxmbh=\"C11\" zznf=\"2023\" qsnf=\"2023\" jfxmmc=\"普通个人缴费\" jfxmje=\"350.00000000\" jfrq=\"20230220\" />" +"<r jfxmbh=\"C41\" zznf=\"2023\" qsnf=\"2023\" jfxmmc=\"缴费补贴\" jfxmje=\"30.00000000\" jfrq=\"20230220\" />" +"</root>";String xmlStringNew = "<r jfxmbh=\"C11\" zznf=\"2023\" qsnf=\"2023\" jfxmmc=\"普通个人缴费\" jfxmje=\"350.00000000\" jfrq=\"20230220\" /><r jfxmbh=\"C41\" zznf=\"2023\" qsnf=\"2023\" jfxmmc=\"缴费补贴\" jfxmje=\"30.00000000\" jfrq=\"20230220\" />";String endXml = "<root>" + xmlStringNew + "</root>";List<PlatJuMinBaoXian> result = parse(endXml);result.forEach(System.out::println);}
http://www.xdnf.cn/news/78643.html

相关文章:

  • Java 中 XML 处理工具类详解
  • WHAT - 静态资源缓存穿透
  • 【音视频】音频解码实战
  • Ubuntu-Linux中vi / vim编辑文件,保存并退出
  • Cline Roo Code
  • 广告效果分析-广告点击率mysql+pandas
  • C++ linux打包运行方案(cmake)
  • vue浅试(1)
  • audio 核心服务AudioPolicyService 和AudioFlinger启动流程
  • 野外价值观:在真实世界的语言模型互动中发现并分析价值观
  • 测试电源在光伏测试中的应用
  • http通信之axios vs fecth该如何选择?
  • PyTorch DDP 跨节点通信的底层机制
  • “融合Python与机器学习的多光谱遥感技术:数据处理、智能分类及跨领域应用”​
  • LDO手册看点
  • Android调用springboot接口上传大字段,偶现接口超时的优化
  • Java容灾架构设计
  • [目标检测] Yolov5模型
  • 开启报名!火山引擎 x PICO-全国大学生物联网设计竞赛赛题发布
  • PDF转换Word深度评测 - ComPDFKit Conversion SDK V3.0
  • DOCA介绍
  • Power BI企业运营分析——数据大屏搭建思路
  • 护眼-科学使用显示器
  • Idea创建项目的搭建方式
  • java面向对象12:static关键字
  • 本地部署DeepSeek大模型
  • Redis—RDB日志持久化
  • 【Spring】单例模式的创建方式(Bean解析)
  • 25.4.22华为--算法真题整理(2025年4月22日)
  • AOSP Android14 Launcher3——RectFSpringAnim窗口动画类详解