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

com.fasterxml.jackson.dataformat.xml.XmlMapper把对象转换xml格式,属性放到标签<>里边

之前从没用过xml和对象相互转换,最近项目接了政府相关的。需要用xml格式数据进行相互转换。有些小问题,困扰了我一下下。

1.有些属性需要放到标签里边,有的需要放到标签子集。

2.xml需要加<?xml version="1.0" encoding="utf-8"?>头。

属性放到标签里边设置,isAttribute = true,代码如下:

package com.huateng.gongan.job.xml.bean;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;public class Add {@JacksonXmlProperty(localName = "key",isAttribute = true)private String key;@JacksonXmlProperty(localName = "value",isAttribute = true)private String value;public Add(String key, String value) {this.key = key;this.value = value;}public Add() {}public String getKey() {return key;}public void setKey(String key) {this.key = key;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}public static void main(String[] args) throws JsonProcessingException {Add add = new Add("123","456");XmlMapper xmlMapper = new XmlMapper();String xml = xmlMapper.writeValueAsString(add);System.out.println(xml);}
}

输出样式:

<Add><key>123</key><value>456</value></Add>

属性放到标签子集设置,代码如下:

package com.huateng.gongan.job.xml.bean;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;public class Add {@JacksonXmlProperty(localName = "key")private String key;@JacksonXmlProperty(localName = "value")private String value;public Add(String key, String value) {this.key = key;this.value = value;}public Add() {}public String getKey() {return key;}public void setKey(String key) {this.key = key;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}public static void main(String[] args) throws JsonProcessingException {Add add = new Add("123","456");XmlMapper xmlMapper = new XmlMapper();String xml = xmlMapper.writeValueAsString(add);System.out.println(xml);}
}

输出样式:

<add key="1" value="value1"/>

xml加<?xml version="1.0" encoding="utf-8"?>头,设置objectMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true),代码如下:

        XmlMapper objectMapper = new XmlMapper();objectMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);objectMapper.writeValueAsString(configuration);

http://www.xdnf.cn/news/5067.html

相关文章:

  • 部署Superset BI(四)连接sql server数据库
  • CNG汽车加气站操作工岗位职责
  • 2025医疗信息化趋势:健康管理系统如何重构智慧医院生态
  • 李沐《动手学深度学习》 | 多层感知机
  • WEB前端表单及表格标签综合案例
  • World of Warcraft [CLASSIC][80][Deluyia] [Fragment of Val‘anyr]
  • Dify智能体平台源码二次开发笔记(8)- OpenAvatarChat数字人项目+dify智能体完美融合
  • 升级 Azure Kubernetes 服务群集的关键注意事项
  • Spring Cloud LoadBalancer (负载均衡)
  • Kubernetes生产实战:NodePort端口范围的隐藏规则与调优指南
  • C——数组和函数实践:扫雷
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】电商数据分析案例-9.4 可视化报告输出
  • 两台服务器之前共享文件夹
  • 第十五章,SSL VPN
  • 一文了解氨基酸的分类、代谢和应用
  • Spring Web MVC基础理论和使用
  • Missashe考研日记-day36(改版说明)
  • AWS之数据分析类产品
  • 算法与数据结构 - 二叉树结构入门
  • git高效杀器——cz-customizable 搭配 commitlint
  • SAF利用由Varjo和AFormX开发的VR/XR模拟器推动作战训练
  • 【2025最新】如何定制化、高效化使用LIghtRAG进行规范知识抽取
  • STM32TIM定时中断(6)
  • 聊聊Spring AI autoconfigure模块的拆分
  • 香港科技大学(广州)新开设智能制造理学硕士学位项目线上招生宣讲会
  • 切比雪夫不等式详解
  • Vibe Coding: 优点与缺点
  • 在 Kotlin 中什么是委托属性,简要说说其使用场景和原理
  • 嵌入式openharmony标准系统中HDF框架底层原理分析
  • 软件工程之面向对象分析深度解析