JAXB 初识(由XML转换为JavaBean) Unmarshaller 的使用
来源:互联网 发布:通达信网上交易软件 编辑:程序博客网 时间:2024/05/22 20:12
1. JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java类映射为XML表示方式。JAXB提供两种主要特性:将一个Java对象序列化为XML,以及反向操作,将XML解析成Java对象。换句话说,JAXB允许以XML格式存储和读取数据,而不需要程序的类结构实现特定的读取XML和保存XML的代码。
3) 解析
2. 由XML解释为Java对象的步骤大致分为以下几步:
1)创建可映射的Java对象
package com.desmond.test.jaxb;import java.util.List;import javax.xml.bind.annotation.XmlAccessType;import javax.xml.bind.annotation.XmlAccessorType;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlRootElement;@XmlAccessorType(XmlAccessType.NONE)@XmlRootElement(name = "address")public class AddressVO {@XmlElement(name = "country")private String countryName;@XmlElement(name = "state")private String stateName;@XmlElement(name = "city")private List<CityVO> cityList;public String getCountryName() {return countryName;}public void setCountryName(String countryName) {this.countryName = countryName;}public String getStateName() {return stateName;}public void setStateName(String stateName) {this.stateName = stateName;}public List<CityVO> getCityList() {return cityList;}public void setCityList(List<CityVO> cityList) {this.cityList = cityList;}@Overridepublic String toString() {StringBuilder sb = new StringBuilder( "AddressVO [countryName=" + countryName + ", stateName="+ stateName + ", cityName=");for(CityVO city : cityList) {sb.append(city.getCityName() + ", ");}return sb.toString();}}
2).创建符合XML语法规范的xml(address.xml)
<?xml version="1.0"?><address><country>Chinese</country><state>Hunan</state><city><name>Hengyang</name><city-resident><name>presley</name><age>100</age><job>developer</job></city-resident><city-resident><name>kenny</name><age>100</age><job>developer</job></city-resident></city><city><name>Changsha</name><city-resident><name>PenZhi</name><age>13</age><job>student</job></city-resident><city-resident><name>LiMM</name><age>18</age><job>student</job></city-resident></city></address>
3) 解析
URL url = AddressVO.class.getResource(DIR+"address.xml");File file = FileUtils.toFile(url);JAXBContext jc = null;AddressVO addressVO = null;try {jc = JAXBContext.newInstance(AddressVO.class);Unmarshaller unMarshaller = jc.createUnmarshaller();addressVO = (AddressVO) unMarshaller.unmarshal(file);List<CityVO> cityList = addressVO.getCityList();for(CityVO c : cityList) {outln(c);}} catch (JAXBException e) {// TODO Auto-generated catch blocke.printStackTrace();}
- JAXB 初识(由XML转换为JavaBean) Unmarshaller 的使用
- 使用JAXB处理JavaBean和XML的转换
- JAXB实现xml与javabean的转换
- JAXB 实现 XML & JAVABEAN 的转换
- JAXB xml与javaBean的转换
- Unmarshaller转换xml到对像为空的问题
- JAXB转换xml和JavaBean
- 使用JAXB来完成Javabean与XML文件(字符串)之间的相互转换
- 通过jaxb实现javabean和xml的转换
- XML:使用JAXB完成JavaBean和xml的转化
- jaxb-xml和javabean转换实战
- JAXB实现JavaBean和xml互相转换
- JAXB实现JavaBean与XML互相转换
- JAXB JavaBean与Xml之间转换
- 实体类JavaBean转Xml-JAXB的使用分享
- 实体类JavaBean转Xml-JAXB的使用分享
- JAVABEAN转换为XML
- 使用JAXB时,xml与java对象互转以及初始情况下直接由模板xml生成javabean
- C# CheckedListBox控件的用法
- Linux_关于A20 Gate
- 交换两个变量的值,不使用第三个变量
- XML第十八讲:JDOM深入详解
- Smart Link
- JAXB 初识(由XML转换为JavaBean) Unmarshaller 的使用
- Substring
- C++内存分配秘籍—new,malloc,GlobalAlloc详解
- poj-1008 简单的日历转换
- QMenu,QT的菜单添加
- windows下github傻瓜式使用心得
- linux 下的od命令加上重定向
- Java常用类
- 十个你可能没用过的Linux命令