xml 转换 java_Xml转换Java Bean

工具类

/**

* 将XML转为指定的POJO

* @param clazz

* @param xmlStr

* @return

* @throws Exception

*/

public static Object xmlStrToOject(Class> clazz, String xmlStr) throws Exception {

Object xmlObject = null;

Reader reader = null;

try{

JAXBContext context = JAXBContext.newInstance(clazz);

// XML 转为对象的接口

Unmarshaller unmarshaller = context.createUnmarshaller();

reader = new StringReader(xmlStr);

xmlObject = unmarshaller.unmarshal(reader);

if (null != reader) {

reader.close();

}

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

return xmlObject;

}

使用工具类

Vehicle vehicle = (Vehicle)XmlUtil.xmlStrToOject(Vehicle.class,xmlStr);

String str = vehicle.getCamID().get(0);

测试

public static void main(String[] args) {

String xmlStr = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +

"\n" +

" \n" +

" 43030412341319100034 \n" +

" 湘X538D警 \n" +

" 0 \n" +

" 1 \n" +

" 23 \n" +

" 0 \n" +

" Z \n" +

" 1 \n" +

" 12080 \n" +

" KKBM43030412341319100034 \n" +

" 20190926172608099 \n" +

" 979799083 \n" +

" 0 \n" +

" \n" +

" 1 \n" +

" http://43.27.0.85:8086/43.27.0.91:7549/alarm$762143830_91532/2019/09/26/17/KKBM43030412341319100034/260891900.jpg?dev=XT8Q-CDS-1&fid=117508-29-13D2E8002D-155A0BA-63B56 \n" +

" 20190926172601791 \n" +

" 1 \n" +

" \n" +

" \n" +

" \n" +

" 2 \n" +

" http://43.27.0.85:8086/43.27.0.91:7549/alarm$762143830_91532/2019/09/26/17/KKBM43030412341319100034/260891901.jpg?dev=XT8Q-CDS-1&fid=117508-29-13D2E8002D-15BDCD8-5ECB4 \n" +

" 20190926172603929 \n" +

" 1 \n" +

" \n" +

" \n" +

" \n" +

" 3 \n" +

" http://43.27.0.85:8086/43.27.0.91:7549/alarm$762143830_91532/2019/09/26/17/KKBM43030412341319100034/260891902.jpg?dev=XT8Q-CDS-1&fid=117508-29-13D2E8002D-161CA54-4FF99 \n" +

" 20190926172608099 \n" +

" 1 \n" +

" \n" +

" \n" +

" \n" +

" 4 \n" +

" http://43.27.0.85:8086/43.27.0.91:7549/alarm$762143830_91532/2019/09/26/17/KKBM43030412341319100034/Character260891903.jpg?dev=XT8Q-CDS-1&fid=117508-29-13D2E8002D-166CAB5-78E \n" +

" 2 \n" +

" \n" +

" \n" +

" 4 \n" +

" 1 \n" +

" 1 \n" +

" 1 \n" +

" 98 \n" +

" 1 \n" +

" \n" +

" 0 \n" +

" \n" +

" GXCY \n" +

" 1 \n" +

" 78 \n" +

" 0 \n" +

" 3 \n" +

" \n" +

" \n" +

" 0 \n" +

" 70 \n" +

" 70 \n" +

" \n" +

" \n" +

" 0000\n" +

" 0800\n" +

" 0568\n" +

" 1558\n" +

" 0166\n" +

" 1298\n" +

" 0244\n" +

" 1318\n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" road \n" +

" \n" +

" \n" +

" \n" +

" 0 \n" +

" 高新路创业路-东向西-电警 \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

" \n" +

"";

System.out.println("xml数据="+xmlStr);

//转换xml

Vehicle vehicle = null;

try {

//vehicle = changXmlOfPassCar(xmlStr);

vehicle = (Vehicle)XmlUtil.xmlStrToOject(Vehicle.class,xmlStr);

log.info("号牌种类为:{},车辆类型为:{}", vehicle.getPlateType(), vehicle.getVehicleType());

} catch (Exception e) {

e.printStackTrace();

}

}

/**过车bean

* Created by mW6408 on 2019/4/10.

*/

@Data

@XmlAccessorType(value= XmlAccessType.FIELD)

@XmlRootElement(name="Vehicle")

public class Vehicle {

private List CamID; //卡口相机号

private String CarPlate;//号牌号码

private String PlateColor;//号牌颜色

private String VehicleSpeed;//车辆速度

private String PlateType;//号牌种类

private String IdentifyStatus;

private String VehicleColor;//车身颜色

private String VehicleType;//车辆类型

private String DriveStatus;//违法行为

private String TollgateID;//卡口编号

private String PassTime;//违法时间

private String RecordID;

private String DBRecordID;

private List Image;

private String PicNumber;//照片数量

private String LaneID;//车道编号

private String LaneType;

private String Direction;//方向编码

private String VehicleBrand;//车辆分类

private String PlateNumber;

private String VehicleBody;

private String VehicleLength;

private String DealTag;

private String PlaceCode;//违法地点

private String EquipmentType;

private String PlateConfidence;

private String RearPlateConfidence;

private String GlobalComposeFlag;

private String RedLightStartTime;

private String RedLightEndTime;

private String RedLightTime;

private String LimitedSpeed;

private String MarkedSpeed;

private String VideoURL;

private String VideoURL2;

private String VehicleTopX;

private String VehicleTopY;

private String VehicleBotX;

private String VehicleBotY;

private String LPRRectTopX;

private String LPRRectTopY;

private String LPRRectBotX;

private String LPRRectBotY;

private VehicleFace VehicleFace;

private String PlaceName;//违法地址

private String PoliceCode;

private String ReservedField1;

private String ReservedField2;

private String VehicleColorDept;

private String DressColor;

private String ApplicationType;

private String RearPlateColor;

private String RearPlateType;

private String RearVehiclePlateID;

private String PlateCoincide;

private String DirectionName;

private String ImageURL2;

private String ImageURL3;

private String ImageURL4;

private String TollgateName;

}

/**

* Created by liuzhou on 2019/9/29.

*/

@Data

@XmlAccessorType(value= XmlAccessType.FIELD)

@XmlRootElement(name = "Image")

public class Image {

private String ImageIndex;

private String ImageURL;

private String PassTime;

private String ImageType;

private String ImageData;

}

/**

* Created by liuzhou on 2019/9/29.

*/

@Data

@XmlAccessorType(value= XmlAccessType.FIELD)

public class VehicleFace {

private String VehicleBrand;

private String VehicleBrandType;

private String VehicleBrandYear;

private String VehicleBrandModel;

private String IsVehicleHead;

}

参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值