XML解析工具类

报文:

      <GuestInfoResponse xmlns="http://tempuri.org/">
         <GuestInfoResult><![CDATA[<interface time="2020-09-29 14:38:30"><items><accnt>F20H270039</accnt><name>冉四我问</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/27 0:00:00</arr><dep>2020/8/28 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>2</bknum></items><items><accnt>F20H270041</accnt><name>李李</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/27 0:00:00</arr><dep>2020/8/28 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20H270042</accnt><name>吱吱吱</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/27 0:00:00</arr><dep>2020/8/28 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I110262</accnt><name>范驰</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/16 18:00:00</arr><dep>2020/9/17 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex>1</sex><ident></ident><cusnoname></cusnoname><bknum>0</bknum></items><items><accnt>F20G230109</accnt><name>冉思伟</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/7/24 0:00:00</arr><dep>2020/7/25 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I170065</accnt><name>阿斯达</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/17 0:00:00</arr><dep>2020/9/18 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I170076</accnt><name>李亚洲</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/17 0:00:00</arr><dep>2020/9/18 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I100048</accnt><name>刚刚好</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/10 16:40:22</arr><dep>2020/9/11 16:40:22</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20H280030</accnt><name>姜语溪</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/28 0:00:00</arr><dep>2020/8/29 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>2</bknum></items><items><accnt>F20I110146</accnt><name>测试支付伟</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/14 18:47:55</arr><dep>2020/9/15 18:47:55</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240062</accnt><name>徐说圳</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 11:11:30</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I110158</accnt><name>阿斯达有</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/14 19:34:33</arr><dep>2020/9/15 19:34:33</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I110159</accnt><name>阿斯达</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/14 22:12:03</arr><dep>2020/9/15 22:12:03</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240063</accnt><name>徐说圳</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 11:11:30</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I240065</accnt><name>Ota预订</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 18:00:00</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex>1</sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I080016</accnt><name>李四</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/10 0:00:00</arr><dep>2020/9/11 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>2</bknum></items><items><accnt>F20I110178</accnt><name>彭兵</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/16 0:00:00</arr><dep>2020/9/17 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>2</bknum></items><items><accnt>F20I100043</accnt><name>思伟下单</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/10 16:29:51</arr><dep>2020/9/11 16:29:51</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I110191</accnt><name>章淑琴</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/15 10:56:47</arr><dep>2020/9/16 10:56:47</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>2</bknum></items><items><accnt>F20I110193</accnt><name>最后</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/15 11:07:25</arr><dep>2020/9/16 11:07:25</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I110194</accnt><name>刚回家</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/15 11:10:31</arr><dep>2020/9/16 11:10:31</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20H280022</accnt><name>李亚洲</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/28 0:00:00</arr><dep>2020/8/29 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I280028</accnt><name>学生证</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>R</sta><roomno></roomno><arr>2020/9/29 9:26:03</arr><dep>2020/9/30 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I170084</accnt><name>是的发生</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/17 0:00:00</arr><dep>2020/9/18 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20G220079</accnt><name>杨怀宇</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/7/23 0:00:00</arr><dep>2020/7/24 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I240108</accnt><name>玉蒲团</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 20:54:56</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240107</accnt><name>就是嘛</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 20:11:24</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I280005</accnt><name>徐州</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>R</sta><roomno></roomno><arr>2020/9/28 11:19:39</arr><dep>2020/9/29 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I170034</accnt><name>哈哈</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/17 0:00:00</arr><dep>2020/9/18 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240044</accnt><name>罗炳武</name><groupno></groupno><grp_name></grp_name><birth>1985/12/19 0:00:00</birth><sta>N</sta><roomno></roomno><arr>2020/9/27 12:00:00</arr><dep>2020/9/30 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex>1</sex><ident>450422198512193011</ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I110032</accnt><name>二套</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/11 15:02:20</arr><dep>2020/9/12 15:02:20</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20H270033</accnt><name>冉思维</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/27 0:00:00</arr><dep>2020/8/28 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20H270034</accnt><name>冉思维</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/27 0:00:00</arr><dep>2020/8/28 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>2</bknum></items><items><accnt>F20H270036</accnt><name>小米</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/27 0:00:00</arr><dep>2020/8/28 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I110031</accnt><name>改好</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/11 15:02:20</arr><dep>2020/9/12 15:02:20</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20H140063</accnt><name>桑开洋</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/14 16:22:21</arr><dep>2020/8/15 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20H270046</accnt><name>就医</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/27 0:00:00</arr><dep>2020/8/28 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>2</bknum></items><items><accnt>F20H270045</accnt><name>哈哈哈</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/27 0:00:00</arr><dep>2020/8/28 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I240069</accnt><name>徐顺圳</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 15:02:05</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240071</accnt><name>徐顺圳</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 15:30:38</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240072</accnt><name>徐顺圳</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 15:43:09</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240073</accnt><name>徐顺圳</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 15:43:09</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240074</accnt><name>徐顺圳</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 15:53:09</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240075</accnt><name>徐顺圳</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 15:53:09</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240079</accnt><name>肯呢</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 11:11:30</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I240070</accnt><name>徐顺圳</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 15:30:38</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I240106</accnt><name>玉蒲团</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/27 20:54:56</arr><dep>2020/9/28 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20H140102</accnt><name>桑开洋</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/15 20:43:18</arr><dep>2020/8/16 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20H140104</accnt><name>桑开洋</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/15 20:50:15</arr><dep>2020/8/16 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I110119</accnt><name>杨怀宇</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/14 15:19:02</arr><dep>2020/9/15 15:19:02</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20G220038</accnt><name>杨怀宇</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/7/22 0:00:00</arr><dep>2020/7/23 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20H140008</accnt><name>桑开洋</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/8/14 12:03:41</arr><dep>2020/8/15 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I280009</accnt><name>张三</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>R</sta><roomno></roomno><arr>2020/9/28 14:17:52</arr><dep>2020/9/29 12:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum>1</bknum></items><items><accnt>F20I170057</accnt><name>撒地方</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/18 0:00:00</arr><dep>2020/9/19 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items><items><accnt>F20I170058</accnt><name>结算单</name><groupno></groupno><grp_name></grp_name><birth></birth><sta>N</sta><roomno></roomno><arr>2020/9/17 0:00:00</arr><dep>2020/9/18 0:00:00</dep><phone>3</phone><vod>0</vod><net>0</net><nation>CN</nation><sex></sex><ident></ident><cusnoname></cusnoname><bknum></bknum></items></interface>]]></GuestInfoResult>
      </GuestInfoResponse>

实体类:

package com.fh.cms.vo.pms;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import lombok.Data;

/**
 * @Classname GuestInfoResponse
 * @Description TODO
 * @Date 2020-09-29 19:43
 * @Created by lipf
 */
@Data
// @JacksonXmlRootElement:指定生成xml根标签的名字;
@JacksonXmlRootElement(localName = "GuestInfoResponse")
public class GuestInfoResponse {
    @JacksonXmlProperty(localName = "GuestInfoResult")
    @JacksonXmlCData(value = true)
    private String guestInfoResult;

    public String getGuestInfoResult() {
        return guestInfoResult;
    }

    public void setGuestInfoResult(String guestInfoResult) {
        this.guestInfoResult = guestInfoResult;
    }
}

 

package com.fh.cms.vo.pms;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import lombok.Data;

import java.util.List;

/**
 * @Classname GuestInfoResult
 * @Description TODO
 * @Date 2020-09-29 17:55
 * @Created by lipf
 */
@Data
// @JacksonXmlRootElement:指定生成xml根标签的名字;
@JacksonXmlRootElement(localName = "GuestInfoResult")

public class GuestInfoResult {
    @JacksonXmlProperty(localName = "interface")
    private InterfaceDto interfaceStr;

    public InterfaceDto getInterfaceStr() {
        return interfaceStr;
    }

    public void setInterfaceStr(InterfaceDto interfaceStr) {
        this.interfaceStr = interfaceStr;
    }
}

@Data
class Items {
    @JacksonXmlProperty(localName = "accnt")
    private String accnt;

    @JacksonXmlProperty(localName = "name")
    private String name;

    @JacksonXmlProperty(localName = "groupno")
    private String groupno;

    @JacksonXmlProperty(localName = "grp_name")
    private String grpName;

    @JacksonXmlProperty(localName = "birth")
    private String birth;

    @JacksonXmlProperty(localName = "sta")
    private String sta;

    @JacksonXmlProperty(localName = "roomno")
    private String roomno;

    @JacksonXmlProperty(localName = "arr")
    private String arr;

    @JacksonXmlProperty(localName = "dep")
    private String dep;

    @JacksonXmlProperty(localName = "phone")
    private String phone;

    @JacksonXmlProperty(localName = "vod")
    private String vod;


    @JacksonXmlProperty(localName = "net")
    private String net;


    @JacksonXmlProperty(localName = "nation")
    private String nation;


    @JacksonXmlProperty(localName = "sex")
    private String sex;


    @JacksonXmlProperty(localName = "ident")
    private String ident;

    @JacksonXmlProperty(localName = "cusnoname")
    private String cusnoname;

    @JacksonXmlProperty(localName = "bknum")
    private String bknum;

    public String getAccnt() {
        return accnt;
    }

    public void setAccnt(String accnt) {
        this.accnt = accnt;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGroupno() {
        return groupno;
    }

    public void setGroupno(String groupno) {
        this.groupno = groupno;
    }

    public String getGrpName() {
        return grpName;
    }

    public void setGrpName(String grpName) {
        this.grpName = grpName;
    }

    public String getBirth() {
        return birth;
    }

    public void setBirth(String birth) {
        this.birth = birth;
    }

    public String getSta() {
        return sta;
    }

    public void setSta(String sta) {
        this.sta = sta;
    }

    public String getRoomno() {
        return roomno;
    }

    public void setRoomno(String roomno) {
        this.roomno = roomno;
    }

    public String getArr() {
        return arr;
    }

    public void setArr(String arr) {
        this.arr = arr;
    }

    public String getDep() {
        return dep;
    }

    public void setDep(String dep) {
        this.dep = dep;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getVod() {
        return vod;
    }

    public void setVod(String vod) {
        this.vod = vod;
    }

    public String getNet() {
        return net;
    }

    public void setNet(String net) {
        this.net = net;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getIdent() {
        return ident;
    }

    public void setIdent(String ident) {
        this.ident = ident;
    }

    public String getCusnoname() {
        return cusnoname;
    }

    public void setCusnoname(String cusnoname) {
        this.cusnoname = cusnoname;
    }

    public String getBknum() {
        return bknum;
    }

    public void setBknum(String bknum) {
        this.bknum = bknum;
    }
}


@Data
@JacksonXmlRootElement(localName = "interface")
class InterfaceDto {
    @JacksonXmlProperty(isAttribute = true, localName = "time")
    private String time;
    @JacksonXmlProperty(localName = "items")
    private List<Items> items;

    public List<Items> getItems() {
        return items;
    }

    public void setItems(List<Items> items) {
        this.items = items;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }
}

 

测试解析:

package com.fh.cms.vo.pms;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fh.cms.util.XmlUtils;
import com.hl.common.json.JSON;
import com.hl.common.utils.JsonUtil;

/**
 * @Classname Test
 * @Description TODO
 * @Date 2020-09-29 19:18
 * @Created by lipf
 */
public class Test {

    public static void main(String[] args) {
        String xmlStr="<GuestInfoResponse><GuestInfoResult>\n" +
                "<![CDATA[<interface time=\"2020-09-29 14:38:30\">\n" +
                "<items>\n" +
                "<accnt>F20H270039</accnt>\n" +
                "<name>冉四我问</name>\n" +
                "<groupno>\n" +
                "</groupno>\n" +
                "<grp_name>\n" +
                "</grp_name>\n" +
                "<birth>\n" +
                "</birth>\n" +
                "<sta>N</sta>\n" +
                "<roomno>\n" +
                "</roomno>\n" +
                "<arr>2020/8/27 0:00:00</arr>\n" +
                "<dep>2020/8/28 0:00:00</dep>\n" +
                "<phone>3</phone>\n" +
                "<vod>0</vod>\n" +
                "<net>0</net>\n" +
                "<nation>CN</nation>\n" +
                "<sex>\n" +
                "</sex>\n" +
                "<ident>\n" +
                "</ident>\n" +
                "<cusnoname>\n" +
                "</cusnoname>\n" +
                "<bknum>2</bknum>\n" +
                "</items>\n" +
                "</interface>]]>"+
                "</GuestInfoResult></GuestInfoResponse>\n\n";
        try {
            GuestInfoResponse guestInfoResponse = XmlUtils.toObject(xmlStr, GuestInfoResponse.class);
            System.out.println(JsonUtil.objectToJsonString(guestInfoResponse));
            String guestInfoResult = guestInfoResponse.getGuestInfoResult();
            InterfaceDto interfaceDto = XmlUtils.toObject(guestInfoResult, InterfaceDto.class);
            System.out.println(JsonUtil.objectToJsonString(interfaceDto));

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

package com.hexiang.utils; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; /** * 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的节点 * @param attributeName 要取值的属性名称 * @return 要获取的属性的值 * @author HX_2010-01-12 */ public static String getAttribute( Element element, String attributeName ) { return element.getAttribute( attributeName ); } /** * 获取指定节点下的文本 * @param element 要获取文本的节点 * @return 指定节点下的文本 * @author HX_2010-01-12 */ public static String getText( Element element ) { return element.getFirstChild().getNodeValue(); } /** * 解析某个xml文件,并在内存中创建DOM树 * @param xmlFile 要解析的XML文件 * @return 解析某个配置文件后的Document * @throws Exception xml文件不存在 */ public static Document parse( String xmlFile ) throws Exception { // 绑定XML文件,建造DOM树 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document domTree = db.parse( xmlFile ); return domTree; } /** * 获得某节点下的某个子节点(指定子节点名称,和某个属性的值) * 即获取parentElement下名字叫childName,并且属性attributeName的值为attributeValue的子结点 * @param parentElement 要获取子节点的那个父节点 * @param childName 要获取的子节点名称 * @param attributeName 要指定的属性名称 * @param attributeValue 要指定的属性的值 * @return 符合条件的子节点 * @throws Exception 子结点不存在或有多个符合条件的子节点 * @author HX_2008-12-01 */ public static Element getChildElement( Element parentElement, String childName, String attributeName, String attributeValue ) throws Exception { NodeList list = parentElement.getElementsByTagName( childName ); int count = 0; Element curElement = null; for ( int i = 0 ; i < list.getLength() ; i ++ ) { Element child = ( Element )list.item( i ); String value = child.getAttribute( attributeName ); if ( true == value.equals( attributeValue ) ) { curElement =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值