近期接到需求,第三方会给我们回调一个XML的数据请求,那么就需要去编写一个接收XML请求并封装到实体类中进行封装调用,项目使用的是SpringBoot,对于封装XML来说,框架无所谓

项目环境:SpringBoot框架 、Java语言、 Maven版本控制器、 IDEA编译器

大致步骤

1、导包

2、根据XML映射实体类

3、编写接口

4、测试

5、遇到的坑


1、导包

解析XML格式的包,版本号自己定义即可

<dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId>
</dependency>

2、根据XML映射实体类

现在给出一个模板,我的XML模板

<?xml version="1.0" encoding="UTF8"?>
<STUDENTXML><ID>123</ID><STUNAME>张三</STUNAME><SEX>男</SEX>
</STUDENTXML>

转换为实体如下:因为导入lombok.Data,所以省略get set,读者视情况而定

@Data
@JacksonXmlRootElement(localName ="STUDENTXML")
public class Student {@JacksonXmlProperty(localName ="ID")private Integer id;@JacksonXmlProperty(localName ="STUNAME")private String stuName;@JacksonXmlProperty(localName ="SEX")private String sex;
}

3、编写接口

@RequestMapping(value = "/info", produces = {MediaType.APPLICATION_XML_VALUE, MediaType.TEXT_XML_VALUE}, consumes = {MediaType.APPLICATION_XML_VALUE,MediaType.TEXT_XML_VALUE})
public Student postTest(@RequestBody Student student){System.out.println("传过来的xml信息转换成实体类如下:"+student.toString());// TODO: 2021/6/2 编写相应的逻辑//返回对象转为XML格式return student;
}

4、测试

在线测试API工具:https://www.apizza.net/ 【需要下载插件】
在线格式化XML网站:https://www.bejson.com/otherformat/xmlsort/

测试数据与返回的数据

5、遇到的坑

  • 请求方式限定

    • consumes中我使用的直接是多种方式,因为你访问中会有 application/xml 和 text/xml 类型不对也会导致报错。
  • 类型转换失败
    • 由于XML转换为实体是不确定类型,很有可能误解其中参数类型,导致失败

StringBoot接收XML参数,Java解析XML参数并封装相关推荐

  1. java中解析xml解读,java解析xml(JDOM)

    下面通过一个简单的例子说明一下怎么用JDOM这一适合Java程序员习惯的工具包来解析XML文档. 为了简单,我用了如下XML作为要解析的XML文件: rjzjh 60.0 够简单的吧,但它对于我们关心 ...

  2. JAVA解析xml的五种方式比较

    1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取和操作文档的任意部分,是W3C的官方标准[优点]①允许应用 ...

  3. xml教程之java解析xml文档

    1.java解析xml文件介绍 XML解析方式分为两种:DOM方式和SAX方式 DOM:Document Object Model,文档对象模型.这种方式是W3C推荐的处理XML的一种方式. SAX: ...

  4. Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)

    http://blog.csdn.net/smcwwh/article/details/7183869 关键字:Java解析xml.解析xml四种方法.DOM.SAX.JDOM.DOM4j.XPath ...

  5. Java 解析 XML

    Java 解析 XML 标签: Java基础 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点 ...

  6. java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol

    java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol 完整错误信息: org.dom4j.Document ...

  7. Java解析Xml的三种方式总结

    转自:http://blog.csdn.net/zjf280441589/article/details/50613881 XML解析技术有两种 DOM SAX DOM方式  根据XML的层级结构在内 ...

  8. Java解析XML(DOM解析和SAX解析)

    前言:在程序中访问和操作XML文件一般有两种模型:DOM(文档对象模型)和流模型:在本篇文章中分别对应DOM解析和SAX解析. 目录 1 .DOM解析与SAX解析的相关知识点 1.1 DOM 1.2 ...

  9. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  10. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax;import org.xml.sax.Attributes; import org.xml.sax.SAXEx ...

最新文章

  1. 【Unity 3D】学习笔记三十六:物理引擎——刚体
  2. 我工作三年了,该懂并发了(干货)
  3. 顺序特征选择器(SequentialFeatureSelector (SFS))
  4. 数组实现栈,实现push,pop,size方法 -- 面试算法
  5. 浅析微信支付:统一下单接口
  6. 爬虫实战:嗅事百科段子多页爬取
  7. POJ 1655 Balancing Act (树的重心)
  8. 在ubuntu 16.04里使用python—scrapy将爬取到的数据存到mysql数据库中的一些随笔
  9. FixedThreadPool 使用方法测试
  10. asp.net html helper,6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】
  11. Maven学习总结(37)——利用GitHub或阿里云OSS对象存储、又拍云、七牛云存储等搭建个人Maven仓库
  12. uml学习之图书借阅简化用例图创建
  13. BIO、伪异步 IO、AIO和NIO
  14. Oracle 字符集
  15. 大学物理实验习题+答案/缓慢更新
  16. 雅思准考证可以下载到电脑上吗
  17. 2级c语言题库及答案,计算机二级c语言考试题库及答案
  18. CAD图纸的缩放——缩放上一个命令
  19. 什么是归纳法、数学归纳法
  20. 无WiFi 条件下如何使用Xshell 串口访问树莓派终端

热门文章

  1. vmware虚拟机挂载Windows磁盘的两种方法
  2. ASP.NET MVC 5 默认模板的JS和CSS 是怎么加载的?
  3. [Stack]Valid Parentheses
  4. 采集网页数据生成到静态模板newslist.html文件中(正则表达式)
  5. android项目中导入actionbarsherlock 需要注意的地方
  6. 设计一个移动应用的本地缓存机制(转)
  7. 傲娇Android二三事之诡诡异异的图片加载
  8. datatable 操作列根据权限动态展现_不会Excel透视表?教你一招轻松做出动态报表...
  9. MySQL主从同步(三)——M-S-S架构配置实战
  10. MySQL备份与恢复详解(热备、冷备等相关术语解释)