当前位置: 首页 > 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);

http://www.dtcms.com/a/180067.html

相关文章:

  • 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中电技术:变配电智能运维方案为工业安全与效率保驾护航
  • 124549-23-1,PBFI AM,测定细胞内区隔的钾离子水平变化
  • DNS DDoS攻击:网络世界中的“洪水猛兽”
  • 对PyTorch模块进行性能分析
  • k8s存储类型:emptyDir、hostPath、nfs、pvc及存储类storageclass的静态/动态创建pv
  • android 媒体框架
  • iOS App 安全性探索:源码保护、混淆方案与逆向防护日常
  • 操作系统基础知识
  • C#字段、属性、索引器、常量
  • ggplot2 | GO barplot with gene list
  • java 多核,多线程,分布式 并发编程的现状 :从本身的jdk ,到 spring ,到其它第三方。