- 浏览: 37441 次
最新评论
-
lucky_god:
chenyingna66 写道这里是怎么实现上传到服务器的一般 ...
利用file控件实现点击图片更改并回显 -
chenyingna66:
这里是怎么实现上传到服务器的
利用file控件实现点击图片更改并回显
实现XML与Object互转的工具有很多,这里使用的是xstream工具,需要xpp3.jar一起使用才可正常运行,本文用到的是xstream.1.4.jar和xpp3-1.1.2.jar
进入正题
Object转XML:
创建web项目
新建bean类:CheckOut.java
创建bean类GuestInfo.java
现在创建测试类XStreamTest.java
运行的结果为:
<xmlParse.CheckOut>
<RoomNo>1</RoomNo>
<RoomTypeName>12</RoomTypeName>
<RoomBuildingName>13</RoomBuildingName>
<RoomBuildingCode>14</RoomBuildingCode>
<RoomFloorName>15</RoomFloorName>
<RoomFloorCode>16</RoomFloorCode>
<CheckInTime>17</CheckInTime>
<CheckOutTime>18</CheckOutTime>
<CheckInRoom>true</CheckInRoom>
<CheckOutRoom>false</CheckOutRoom>
<Guests>
<xmlParse.GuestInfo>
<GuestName>1</GuestName>
<IDCardNo>2</IDCardNo>
<IDCardTypeId>3</IDCardTypeId>
<Nationality>4</Nationality>
<CountryCode>countryCode</CountryCode>
<Gender>gender</Gender>
<Birthday>birthday</Birthday>
</xmlParse.GuestInfo>
<xmlParse.GuestInfo>
<GuestName>1</GuestName>
<IDCardNo>2</IDCardNo>
<IDCardTypeId>3</IDCardTypeId>
<Nationality>4</Nationality>
<CountryCode>countryCode</CountryCode>
<Gender>gender</Gender>
<Birthday>birthday</Birthday>
</xmlParse.GuestInfo>
</Guests>
</xmlParse.CheckOut>
这里解析出来GuestInfo和CheckOut类都是全路径名 , 如果你只想只保留类名,xstream提供了两种解决方式:
1、alias(name, class)方法
xStream.alias("CheckOut", CheckOut.class);
xStream.alias("GuestInfo", GuestInfo.class);
2、注解
类名前加上@XStreamAlias("your alias name")
并在xstream实例化对象处 xStream.autodetectAnnotations(true);即可;
XML转Object
这里弄不好就会转换出错,建议先把对象转换成xml , 看明白其格式再做xml转object
创建CheckOut.java 上面已创建,不做累述
创建GuestInfo.java 上面已创建,不做累述
编写XSreamTest.java测试类
附上CheckOut.xml的内容
进入正题
Object转XML:
创建web项目
新建bean类:CheckOut.java
package xmlParse; import java.util.List; import com.thoughtworks.xstream.annotations.XStreamAlias; public class CheckOut { private String RoomNo; private String RoomTypeName; private String RoomBuildingName; private String RoomBuildingCode; private String RoomFloorName; private String RoomFloorCode; private String CheckInTime; private String CheckOutTime; private boolean CheckInRoom; private boolean CheckOutRoom; private List<GuestInfo> Guests; public String getRoomNo() { return RoomNo; } public void setRoomNo(String roomNo) { RoomNo = roomNo; } public String getRoomTypeName() { return RoomTypeName; } public void setRoomTypeName(String roomTypeName) { RoomTypeName = roomTypeName; } public String getRoomBuildingName() { return RoomBuildingName; } public void setRoomBuildingName(String roomBuildingName) { RoomBuildingName = roomBuildingName; } public String getRoomBuildingCode() { return RoomBuildingCode; } public void setRoomBuildingCode(String roomBuildingCode) { RoomBuildingCode = roomBuildingCode; } public String getRoomFloorName() { return RoomFloorName; } public void setRoomFloorName(String roomFloorName) { RoomFloorName = roomFloorName; } public String getRoomFloorCode() { return RoomFloorCode; } public void setRoomFloorCode(String roomFloorCode) { RoomFloorCode = roomFloorCode; } public String getCheckInTime() { return CheckInTime; } public void setCheckInTime(String checkInTime) { CheckInTime = checkInTime; } public String getCheckOutTime() { return CheckOutTime; } public void setCheckOutTime(String checkOutTime) { CheckOutTime = checkOutTime; } public boolean getCheckInRoom() { return CheckInRoom; } public void setCheckInRoom(boolean checkInRoom) { CheckInRoom = checkInRoom; } public List<GuestInfo> getGuests() { return Guests; } public void setGuests(List<GuestInfo> guests) { this.Guests = guests; } public boolean isCheckOutRoom() { return CheckOutRoom; } public void setCheckOutRoom(boolean checkOutRoom) { CheckOutRoom = checkOutRoom; } public CheckOut() { // TODO Auto-generated constructor stub } public CheckOut(String roomNo, String roomTypeName, String roomBuildingName, String roomBuildingCode, String roomFloorName, String roomFloorCode, String checkInTime, String checkOutTime, boolean checkInRoom, boolean checkOutRoom) { super(); RoomNo = roomNo; RoomTypeName = roomTypeName; RoomBuildingName = roomBuildingName; RoomBuildingCode = roomBuildingCode; RoomFloorName = roomFloorName; RoomFloorCode = roomFloorCode; CheckInTime = checkInTime; CheckOutTime = checkOutTime; CheckInRoom = checkInRoom; CheckOutRoom = checkOutRoom; } }
创建bean类GuestInfo.java
package xmlParse; import com.thoughtworks.xstream.annotations.XStreamAlias; @XStreamAlias("GuestInfo") public class GuestInfo { public String GuestName; public String IDCardNo; public String IDCardTypeId; public String Nationality; public String CountryCode; public String Gender; public String Birthday; public String Address; public String CityCode; public String ProvinceCode; public String VisaNo; public String VisaTypeId; public String VisaValid; public String getGuestName() { return GuestName; } public void setGuestName(String guestName) { GuestName = guestName; } public String getIDCardNo() { return IDCardNo; } public void setIDCardNo(String iDCardNo) { IDCardNo = iDCardNo; } public String getIDCardTypeId() { return IDCardTypeId; } public void setIDCardTypeId(String iDCardTypeId) { IDCardTypeId = iDCardTypeId; } public String getNationality() { return Nationality; } public void setNationality(String nationality) { Nationality = nationality; } public String getGender() { return Gender; } public void setGender(String gender) { Gender = gender; } public String getBirthday() { return Birthday; } public void setBirthday(String birthday) { Birthday = birthday; } public String getAddress() { return Address; } public void setAddress(String address) { Address = address; } public String getCityCode() { return CityCode; } public void setCityCode(String cityCode) { CityCode = cityCode; } public String getProvinceCode() { return ProvinceCode; } public void setProvinceCode(String provinceCode) { ProvinceCode = provinceCode; } public String getCountryCode() { return CountryCode; } public void setCountryCode(String countryCode) { CountryCode = countryCode; } public String getVisaNo() { return VisaNo; } public void setVisaNo(String visaNo) { VisaNo = visaNo; } public String getVisaTypeId() { return VisaTypeId; } public void setVisaTypeId(String visaTypeId) { VisaTypeId = visaTypeId; } public String getVisaValid() { return VisaValid; } public void setVisaValid(String visaValid) { VisaValid = visaValid; } public GuestInfo(String guestName, String iDCardNo, String iDCardTypeId, String nationality, String countryCode, String gender, String birthday) { super(); GuestName = guestName; IDCardNo = iDCardNo; IDCardTypeId = iDCardTypeId; Nationality = nationality; CountryCode = countryCode; Gender = gender; Birthday = birthday; } }
现在创建测试类XStreamTest.java
import java.util.ArrayList; import java.util.List; import xmlParse.CheckOut; import xmlParse.GuestInfo; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; public class XStreamTest { public static void main(String[] args) { XStream xStream = new XStream(new DomDriver()); CheckOut check = new CheckOut("1","12","13","14","15","16","17","18",true,false); List<GuestInfo> list = new ArrayList<GuestInfo>(); for(int i =0; i < 2; i++){ GuestInfo g = new GuestInfo("1", "2", "3", "4", "countryCode", "gender", "birthday"); list.add(g); } check.setGuests(list); System.out.println(xStream.toXML(check)); } }
运行的结果为:
引用
<xmlParse.CheckOut>
<RoomNo>1</RoomNo>
<RoomTypeName>12</RoomTypeName>
<RoomBuildingName>13</RoomBuildingName>
<RoomBuildingCode>14</RoomBuildingCode>
<RoomFloorName>15</RoomFloorName>
<RoomFloorCode>16</RoomFloorCode>
<CheckInTime>17</CheckInTime>
<CheckOutTime>18</CheckOutTime>
<CheckInRoom>true</CheckInRoom>
<CheckOutRoom>false</CheckOutRoom>
<Guests>
<xmlParse.GuestInfo>
<GuestName>1</GuestName>
<IDCardNo>2</IDCardNo>
<IDCardTypeId>3</IDCardTypeId>
<Nationality>4</Nationality>
<CountryCode>countryCode</CountryCode>
<Gender>gender</Gender>
<Birthday>birthday</Birthday>
</xmlParse.GuestInfo>
<xmlParse.GuestInfo>
<GuestName>1</GuestName>
<IDCardNo>2</IDCardNo>
<IDCardTypeId>3</IDCardTypeId>
<Nationality>4</Nationality>
<CountryCode>countryCode</CountryCode>
<Gender>gender</Gender>
<Birthday>birthday</Birthday>
</xmlParse.GuestInfo>
</Guests>
</xmlParse.CheckOut>
这里解析出来GuestInfo和CheckOut类都是全路径名 , 如果你只想只保留类名,xstream提供了两种解决方式:
1、alias(name, class)方法
xStream.alias("CheckOut", CheckOut.class);
xStream.alias("GuestInfo", GuestInfo.class);
2、注解
类名前加上@XStreamAlias("your alias name")
package xmlParse; import java.util.List; import com.thoughtworks.xstream.annotations.XStreamAlias; @XStreamAlias("CheckOut") public class CheckOut {}
package xmlParse; import com.thoughtworks.xstream.annotations.XStreamAlias; @XStreamAlias("GuestInfo") public class GuestInfo {}
并在xstream实例化对象处 xStream.autodetectAnnotations(true);即可;
XML转Object
这里弄不好就会转换出错,建议先把对象转换成xml , 看明白其格式再做xml转object
创建CheckOut.java 上面已创建,不做累述
创建GuestInfo.java 上面已创建,不做累述
编写XSreamTest.java测试类
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import xmlParse.CheckOut; import xmlParse.GuestInfo; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; public class XStreamTest { public static void main(String[] args) throws FileNotFoundException { XStream xStream = new XStream(new DomDriver()); xStream.alias("CheckOut", CheckOut.class); xStream.alias("GuestInfo", GuestInfo.class); InputStream input = new FileInputStream(new File("C:/Users/lucky god/Desktop/CheckOut.xml")); CheckOut obj = (CheckOut)xStream.fromXML(input); System.out.println(obj.toString()); } }
附上CheckOut.xml的内容
<?xml version="1.0" encoding="UTF-8"?> <CheckOut> <RoomNo/> <RoomTypeName/> <RoomBuildingName/> <RoomBuildingCode/> <RoomFloorName/> <RoomFloorCode/> <CheckInTime>2011-11-11 11:22:33</CheckInTime> <CheckOutTime>2011-11-11 11:22:33</CheckOutTime> <CheckOutRoom>true</CheckOutRoom> <Guests> <GuestInfo> <GuestName>1</GuestName> <IDCardNo>1</IDCardNo> <IDCardTypeId/> <Nationality/> <CountryCode/> </GuestInfo> <GuestInfo> <GuestName>2</GuestName> <IDCardNo>2</IDCardNo> <IDCardTypeId/> <Nationality/> <CountryCode/> </GuestInfo> </Guests> </CheckOut>
发表评论
-
SiteMesh Path website does not start with a "/" character
2017-09-21 10:59 966环境: 编程语言 JAVA 布局框架 S ... -
Axis2 server 简单示例
2017-07-10 18:53 692转自 http://blog.csdn.net/zhang ... -
java apache common-io上传大文件报错
2017-06-29 09:38 1170我在用apache common-io jar包作影 ... -
java服务器下载文件浏览器无反应
2016-06-23 16:51 1343用google浏览器作的测试 需求: 将指定内容以文件流的形式 ... -
mybatis封装添加实体时的ID
2015-10-13 17:38 1923环境:JDK7、Mybatis3.2.8、Mysql5.6.2 ...
相关推荐
本篇将详细讲解XML的解析方式及其在Java中的应用,特别是如何使用XStream库进行JavaBean与XML之间的互转。 1. **XML解析方式** - DOM解析:Document Object Model,它一次性加载整个XML文档到内存,形成一棵树形...
标题中的“使用XStream是实现XML与Java对象的转换(5)--Object Stream”指的是一个关于XStream库在Java中如何将XML数据与Java对象进行互相转换的教程系列的第五部分,重点可能是关于“Object Stream”的内容。XStream...
这篇博客“使用XStream是实现XML与Java对象的转换(6)--持久化”深入探讨了如何利用XStream进行持久化操作,使得对象状态能够持久保存到磁盘,同时也能够从XML文档中恢复。 首先,我们需要理解XStream的核心概念。...
XStream是一款强大的库,它使得Java对象与XML之间的转换变得简单易行。本篇文章将深入探讨如何利用XStream进行Java对象到XML的转换,并将其存储到SD卡上。 首先,XStream的核心功能在于它可以将Java对象直接转换为...
标题中的“XStream实现Object与XML转换解决方案”指的是一个Java库——XStream,它提供了一种简单的方法来序列化和反序列化Java对象到XML,反之亦然。这个库广泛用于将程序数据保存到XML文件或者从XML数据恢复对象,...
3. **对象转XML** - 使用 `toXML()` 方法将 Java 对象转换为XML字符串。 ```java String xml = xStream.toXML(person); ``` ### 配置XStream - **别名(Aliases)** - 默认情况下,XStream 会使用类的全限定名...
本篇将详细探讨这个主题,讲解如何使用Java进行XML与对象的互转。 一、Java对象转XML 1. **JAXB**(Java Architecture for XML Binding):这是Java标准API,用于将Java对象映射到XML文档,反之亦然。使用JAXB,我们...
这两个工具都提供了简单易用的API,帮助我们实现XML到对象(Object-to-XML)和对象到XML(XML-to-Object)的转换。 **XStream** XStream是Joe Walnes创建的一个开源库,它允许开发者以一种直观、简洁的方式在Java...
本篇文章将深入探讨如何使用XStream实现XML与Java对象的转换,并着重讲解转换器的概念。 XStream的核心功能在于它可以自动将Java对象转换成XML表示,反之亦然。这个过程是通过反射和元数据驱动的,使得开发人员无需...
**XStream 概述** XStream 是一个强大的 Java 类库,它允许开发者将 Java 对象序列化为 XML 或...在实际开发中,结合 `xstream-1.3.1.jar` 文件,可以轻松地将 XStream 集成到项目中,实现对象与 XML 或 JSON 的互转。
标题 "xStream完美转换XML、JSON" 指的是使用xStream库在Java中进行XML与JSON数据格式之间的转换。xStream是一个强大的库,它提供了一种简单的方式来序列化和反序列化Java对象到XML,反之亦然。在这个场景中,它同样...
XStream和Xpp3是两个常用的库,用于实现Java对象与XML之间的转换。本文档将详细介绍如何使用XStream和Xpp3进行对象到XML的转换,并解决可能出现的问题。 首先,要使用XStream和Xpp3,你需要引入相应的库文件。在本...
本篇文章将深入探讨xStream如何实现Java对象与XML和JSON的相互转换,并提供详细的代码示例。 ### 1. xStream的安装与引入 首先,你需要在项目中添加xStream的依赖。如果你使用的是Maven,可以在pom.xml文件中添加...
**XStream:JavaBean与XML/JSON之间的转换大师** XStream是一个开源库,它为Java对象提供了简单且直观的XML序列化和反序列化的解决方案。它不仅能够将Java对象转换成XML,反之亦然,还能支持JSON格式的转换。这个...
DOM4J是一个非常灵活的用于处理XML的Java库,它是基于DOM(Document Object Model)模型的,但提供了比标准DOM更多的功能。DOM4J提供了一种简单而高效的方式来创建、修改和查询XML文档。它支持XPath表达式,可以...
XML(Extensible Markup Language)是一种结构化数据格式,广泛用于数据交换和配置文件,而JSON(JavaScript Object Notation)则因其简洁性和易读性,常用于前端与后端的数据交互。XStream是一个强大的Java库,它...
`xstream-1.3.1.jar`是XStream的一个版本,支持将任何复杂的Java对象结构转换为同等的XML表示,同时也支持反向转换。在微信开发中,如果需要将Java对象转换为XML进行传输,或者从微信返回的XML数据中恢复对象状态,...
6. **易于集成**:Xstream可以通过实现特定接口与其他树型结构的数据进行互转。 7. **灵活转换**:用户可以定制转换策略,自定义特殊类型对象的XML表示。 8. **错误处理**:当XML数据非法时,提供详细的诊断信息,...
在"Java转换xml.rar"中提到的"xstream-1.3"可能是指XStream库,这是一个强大的Java库,它使得对象到XML以及XML到对象的转换变得非常简单。XStream通过反射机制将Java对象直接序列化为XML,反之亦然。其优点在于它能...