最近遇到XML转对象进行业务操作的问题

这是我需要解析的XML

1,建XML对应自己需要参数的Bean。有的很长很乱,没必要全部建,只建自己需要的就行了

import lombok.Data;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date; @Data
@XmlRootElement(name = "EventNotificationAlert")//这个是上面图片开头和结尾那个标签名称,你需要替换成你自己的
@XmlAccessorType(XmlAccessType.FIELD)
public class EventNotificationAlert {
private String ipAddress;
private String portNo;
private String protocol;
private String macAddress;//MAC
private String dynChannelID;//2不知道什么
private String channelID;
private Date dateTime;
private String activePostCount;
private String eventType;
private String eventState;
private String eventDescription;
private String deviceID;
private String thermalURL;
}

2,写解析代码

import com.zhcz.wisdom.yw.eneity.EventNotificationAlert;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.client.RestTemplate; import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import java.io.StringReader; public class ToWyServer {
@Autowired
private RestTemplate restTemplate; public static boolean FireAlarm(String date){
if (StringUtils.isEmpty(date)) return false;
System.out.println(date);
Object map = ToWyServer.convertXmlStrToObject(EventNotificationAlert.class,date);
EventNotificationAlert eee = (EventNotificationAlert) map;
System.err.println(eee.toString());
return true;
} /**0
* 将String类型的xml转换成对象
*/
public static Object convertXmlStrToObject(Class<?> clazz, String xmlStr) {
Object xmlObject = null;
try {
JAXBContext context = JAXBContext.newInstance(clazz);
// 进行将Xml转成对象的核心接口
Unmarshaller unmarshal = context.createUnmarshaller();
StringReader sr = new StringReader(xmlStr);
xmlObject = unmarshal.unmarshal(sr);
} catch (Exception e) {
e.printStackTrace();
}
return xmlObject;
}

  

完成!

JAVA XML转对象的更多相关文章

  1. java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例

    package org.rui.io.xml; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import ...

  2. 【Java】Java XML 技术专题

    XML 基础教程 XML 和 Java 技术 Java XML文档模型 JAXP(Java API for XML Parsing) StAX(Streaming API for XML) XJ(XM ...

  3. Java XML解析器

    使用Apache Xerces解析XML文档 一.技术概述 在用Java解析XML时候,一般都使用现成XML解析器来完成,自己编码解析是一件很棘手的问题,对程序员要求很高,一般也没有专业厂商或者开源组 ...

  4. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  5. Java操作Sqoop对象

    Windows下使用Eclipse工具操作Sqoop1.4.6对象 Sqoop是用来在关系型数据库与Hadoop之间进行数据的导入导出,Windows下使用Eclipse工具操作时,需要先搭建好Had ...

  6. Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)

    1 XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的"数据库" 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大 ...

  7. Android -- 创建XML文件对象及其序列化, pull解析XML文件

    1. 创建XML文件对象及其序列化 示例代码:(模拟以xml格式备份短信到SD卡) SmsInfo.java, bean对象 /** * 短信的业务bean * @author Administrat ...

  8. JAXB解析XML为对象

    JAXB支持注解将XML转化为对象,具体看一个简单的例子: <?xml version="1.0" encoding="utf-8"?> <A ...

  9. Java&Xml教程(六)使用JDOM解析XML文件

    JDOM 提供了非常优秀的Java XML API来更方便的读取.修改.生成XML文档.JDOM还提供了包装类供用户从SAX.DOM.STAX事件解析.STAX流解析中选择具体的实现. 在本教程中,我 ...

  10. Java&Xml教程(一)简介

    XML是广泛用于数据传输和存储的技术.Java语言提供个各种各样的API来解析XML,例如DOM.SAX.StAX.JAXB.也还有一些其他的API用于解析XML,例如JDOM.本教程的目的是探索使用 ...

随机推荐

  1. Web入门实战

    Web入门实战 - [湖湘杯 2021 final]Penetratable 难度:**** 查看题解 - [GKCTF 2021]easycms 难度:** 查看题解

  2. 【实验】B站资源免费下载技巧you-get

    搭建环境, python pip3  install you-get 查看可以下载格式 you-get -i https://www.bilibili.com/video/BV1yN411d7KH?p ...

  3. htmlApk:一个轻松在线打包生成双端app应用的网站

    htmlApk平台,基于HTML打包制作APP,只要有手机网站或者HTML文件,3分钟即可生成app多端应用,同时拥有苹果版和安卓版双系统APP,快速进入移动互联时代. 全面支持h5网址打包,可设置图 ...

  4. 个人css样式

    <style> .div1{ width:200px; height:100px; border:1px solid #dddddd; transition:all 0.5s linear ...

  5. 为开源项目贡献代码-pycharm使用git-登录注册功能分析-判断手机号存在接口-多种方式登录接口-腾讯云短信申请

    目录 为开源项目贡献代码-pycharm使用git-登录注册功能分析-判断手机号存在接口-多种方式登录接口-腾讯云短信申请 git内容大回顾 今日内容概要 今日内容详细 1 为开源项目贡献代码 2 p ...

  6. ORA-01653:unable to extend table xxxxx by 8192 in tablespace xxxxx

    原因:表空间满 解决:扩展表空间 报错截图: 参考摘录:https://blog.csdn.net/qq_35257875/article/details/90295272

  7. JSON操作方法

    一 JSON.stringify JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,如果指定了replacer是一个函数,则可以替换值,或 ...

  8. pytest学习总结

    官方pytest文档:Full pytest documentation - pytest documentation 一.pytest以及辅助插件的安装 1.pytest安装 pip install ...

  9. 基于Axi4_lite的UART串口Verilog代码实现

    UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是设备间进行异步通信的关键模块.UART ...

  10. 日常开发记录-js的Date对象中的toLocaleDateString()

    就是把Date对象的日期部分转换为字符串,并返回结果. 代码示例: console.log(new Date()) // 2023-01-10T05:42:41.926Z console.log(ne ...