我调用另一个服务的方法,并且收到了这种xml字符串:
<result state="0" code="04998121129111115327" transID="4444"
transTime="2012-11-29 11:11:14" regCode="040020275"
refCode="DZ053158110" meterNum="02003561710"
customerName="Jorsh Bush" tariffCode="02"
buyTimes="97" calcQty="37.4" vendQty="37.4"
vendAMT="9.7" supplyAMT="0.00" arrearAMT="0.00"
feeAMT="0" AMT="9.7" VAT="0" stampTax="0.00"
netAMT="9.7" commAMT="0.3" token="2761 9986 4217 4379 4463"
invoice="0000000544" verifyCode="6777e5da18c133d725c7dcd4153f5ca4"
checkCode="">
<power>
<item id="1" kwh="0" amt="0" price="0.1500"/>
<item id="2" kwh="37.4" amt="9.7" price="0.2600"/>
</power>
<fee/>
<arrear/>
</result>
在我看来,这种xml类型存在问题,因为我需要的数据在属性中(而不是在标签中)。 现在,将这种东西放入我的java对象的最佳方法是什么?
我使用xml模式来生成响应类,我尝试将其生成 转换xml字符串。
答案 0 :(得分:0)
参考:https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/Unmarshaller.html
就像第一个人说的那样,使用JAXB提供的Unmarshaller
Should look something like this:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo");
Unmarshaller u = jc.createUnmarshaller();
Object o = u.unmarshal(new File( "nosferatu.xml" ));