zoukankan      html  css  js  c++  java
  • JAVA XML转对象

    最近遇到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;
        }
    

      

    完成!

    zzzzzzzzzzzz
  • 相关阅读:
    Codeforces Round 546 (Div. 2)
    Codeforces Round 545 (Div. 2)
    Codeforces Round 544(Div. 3)
    牛客小白月赛12
    Codeforces Round 261(Div. 2)
    Codeforces Round 260(Div. 2)
    Codeforces Round 259(Div. 2)
    Codeforces Round 258(Div. 2)
    Codeforces Round 257 (Div. 2)
    《A First Course in Probability》-chaper5-连续型随机变量-随机变量函数的分布
  • 原文地址:https://www.cnblogs.com/ymlyxp/p/15470901.html
Copyright © 2011-2022 走看看