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

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);

相关文章:

  • 2.MySQL数据库操作
  • PMIC电源管理模块的PCB设计
  • PostgreSQL冻结过程
  • 使用零样本LLM在现实世界环境中推广端到端自动驾驶——论文阅读
  • Windows远程访问Ubuntu的方法
  • IBM BAW(原BPM升级版)使用教程第六讲
  • YOLOv8 优化:基于 Damo-YOLO 与 DyHead 检测头融合的创新研究
  • Android系统架构模式分析
  • Redis 8.0携新功能,重新开源
  • 从 AGI 到具身智能体:解构 AI 核心概念与演化路径全景20250509
  • 切比雪夫不等式专题习题
  • DevExpressWinForms-布局容器之StackPanel
  • 拆分sql数据,(shop_backup)sql文档过大(>5G)
  • 在另一个省发布抖音作品,IP属地会随之变化吗?
  • TCP/IP协议的体系结构
  • 关于大数据的基础知识(一)——定义特征结构要素
  • 单调栈模版型题目(3)
  • 图像泊松融合(convpyr_small版本)
  • <uniapp><HBuilder><故障>HBuilder真机运行时,报“同步资源失败”故障解决
  • CET中电技术:变配电智能运维方案为工业安全与效率保驾护航
  • 新修订的《婚姻登记条例》明起施行,领证不用户口本了
  • 马上评丨规范隐藏式车门把手,重申安全高于酷炫
  • 44岁街舞运动推广者、浙江省街舞运动协会常务理事钟永玮离世
  • 牛市早报|央行宣布降准降息,公募基金改革最新方案落地
  • 美联储连续第三次维持利率不变,警示关税影响
  • 金融监管总局将推出8项增量政策:涉房地产金融、险资入市、稳外贸等