JAXB规范办法绑定XML与Java BeanITeye - 乐橙lc8

JAXB规范办法绑定XML与Java BeanITeye

2019年02月23日15时45分40秒 | 作者: 鸿祯 | 标签: 时刻,运用,字符串 | 浏览: 1483

 ?xml version="1.0" encoding="UTF-8" standalone="yes"? 
 wwprttxn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 price xsi:type="referencePriceElementType" type="I" 
 offering 6948 /offering 
 startdate 2011-04-21 /startdate 
 currency EUR /currency 
 cabletype ANN /cabletype 
 cableid N2Z11M026589 /cableid 
 releasets 2011-04-21T19:51:17.649 /releasets 
 pricevalue 0.000000 /pricevalue 
 pricepointtype FEA /pricepointtype 
 pricepointvalue 5076 /pricepointvalue 
 country AT /country 
 pricetype XAC /pricetype 
 onshore true /onshore 
 enddate 9999-12-31 /enddate 
 pricevalueusd 0.000000 /pricevalueusd 
 factor 1.000000 /factor 
 /price 
 /wwprttxn 

P.S.

1. xs:dateTime xs:dateTime是schema界说的日期时刻型,当运用xs:dateTime()来强制转化某个字符串为日期时刻型时,字符串的格局应该是:yyyy-mm-ddTHH:MM:SS 例如:2007-03-11T11:09:05,其间的"T"为日期和时刻的切割符,是有必要的.

 

 

要害的过程是界说一个合法的XML Schema:

 ?xml version="1.0" encoding="UTF-8"? 
 xs:schema 
 xmlns:this="http:///TestXML/Jaxb_test_1.xsd" 
 xmlns:xs="http://www.w3.org/2001/XMLSchema" 
 xs:element name="wwprttxn" 
 xs:complexType 
 xs:sequence 
 xs:element name="price" maxOccurs="unbounded" type="PriceType" 
 /xs:element 
 /xs:sequence 
 /xs:complexType 
 /xs:element 
 xs:complexType name="PriceType" 
 xs:sequence 
 xs:element name="offering" type="xs:string"/ 
 xs:element name="startdate" type="xs:date"/ 
 xs:element name="currency" type="xs:string"/ 
 xs:element name="cabletype" type="xs:string"/ 
 xs:element name="cableid" type="xs:string"/ 
 xs:element name="releasets" type="xs:dateTime"/ 
 xs:element name="pricevalue" type="xs:string"/ 
 xs:element name="pricepointtype" type="xs:string"/ 
 xs:element name="pricepointvalue" type="xs:string"/ 
 xs:element name="country" type="xs:string"/ 
 xs:element name="pricetype" type="xs:string"/ 
 xs:element name="onshore" type="xs:string"/ 
 xs:element name="enddate" type="xs:string"/ 
 xs:element name="pricevalueusd" type="xs:string"/ 
 xs:element name="factor" type="xs:string"/ 
 /xs:sequence 
 /xs:complexType 
 /xs:schema 

 

由这个XSD文件生成需求的JAVA Bean Skeleton:

 

最终就可以运用JAXB的规范办法将XML解析成Java Bean:

/*
 * The String Parameter is the package name which contains the ObjectFactory
JAXBContext jc = JAXBContext.newInstance("test.xml"); 
Unmarshaller u = jc.createUnmarshaller(); 
Wwprttxn w = (Wwprttxn)u.unmarshal(new File("D:/test/53.msg")); 
List PriceType priceList= w.getPrice();

P.S.

1. JAXB2.0 里Validator类现已Deprecated.

2. JAXBContext.newInstance(String packageName), PackageName里需求包括上图中的ObjectFactory.

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表乐橙lc8立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章