`
snrqtdhuqf
  • 浏览: 79600 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

xml字符串转java对象

    博客分类:
  • Java
 
阅读更多

 

下面是一个简单的例子

 

package com.yydone.dto;

import java.io.Serializable;
import java.util.List;

public class ItemInfoDto implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Integer itemCount;
	private List<ItemDto> itemList;
	
	public Integer getItemCount() {
		return itemCount;
	}
	public void setItemCount(Integer itemCount) {
		this.itemCount = itemCount;
	}
	public List<ItemDto> getItemList() {
		return itemList;
	}
	public void setItemList(List<ItemDto> itemList) {
		this.itemList = itemList;
	}
}

 

package com.yydone.dto;

import java.io.Serializable;
import java.math.BigDecimal;

public class ItemDto implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private String itemProductName;
	private BigDecimal itemUnitPrice;
	private Integer itemQuantity;
	
	public String getItemProductName() {
		return itemProductName;
	}
	public void setItemProductName(String itemProductName) {
		this.itemProductName = itemProductName;
	}
	public BigDecimal getItemUnitPrice() {
		return itemUnitPrice;
	}
	public void setItemUnitPrice(BigDecimal itemUnitPrice) {
		this.itemUnitPrice = itemUnitPrice;
	}
	public Integer getItemQuantity() {
		return itemQuantity;
	}
	public void setItemQuantity(Integer itemQuantity) {
		this.itemQuantity = itemQuantity;
	}
	
	
}

 

package com.test.util;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.junit.Test;

import com.yydone.dto.ItemDto;
import com.yydone.dto.ItemInfoDto;
import com.thoughtworks.xstream.XStream;

public class TestXmlUtil {

	@Test
	public void parse() {
		String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
				"<ItemInfo>" +
				"	<ItemCount>2</ItemCount>" +
				"	<ItemList>" +
				"		<Item>" +
				"			<ItemProductName>商品1</ItemProductName>" +
				"			<ItemUnitPrice>5.63</ItemUnitPrice>" +
				"			<ItemQuantity>1</ItemQuantity>" +
				"		</Item>" +
				"		<Item>" +
				"			<ItemProductName>商品2</ItemProductName>" +
				"			<ItemUnitPrice>8.36</ItemUnitPrice>" +
				"			<ItemQuantity>2</ItemQuantity>" +
				"		</Item>" +
				"   </ItemList>" +
				"</ItemInfo>";
		
		XStream xStream = new XStream();
		xStream.alias("ItemInfo", ItemInfoDto.class);
		xStream.alias("Item", ItemDto.class);
		xStream.aliasField("ItemCount", ItemInfoDto.class, "itemCount");
		xStream.aliasField("ItemList", ItemInfoDto.class, "itemList");
		
		xStream.aliasField("ItemProductName", ItemDto.class, "itemProductName");
		xStream.aliasField("ItemUnitPrice", ItemDto.class, "itemUnitPrice");
		xStream.aliasField("ItemQuantity", ItemDto.class, "itemQuantity");
		ItemInfoDto dto = (ItemInfoDto)xStream.fromXML(xml);
		System.out.println(ToStringBuilder.reflectionToString(dto));
	}
}

需要依赖的 xml的pom为:

<dependency>
	<groupId>xstream</groupId> 
	<artifactId>xstream</artifactId> 
	<version>1.2.2</version> 
</dependency>

 

分享到:
评论

相关推荐

    2017XML字符串转对象Object 实现工具

    实现 XML字符串转VO对象的实现 1.0:标签读取,属性读取,List类型标签实现 以下是 测试说明 原XML: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;HEADER NAME="HEADERname" name_cn="头名称"&gt;标签text...

    java解析xml字符串

    1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这是为了将字符串转换为可以被SAXBuilder读取的形式。接着,使用`InputSource`封装`StringReader`,以便SAXBuilder能够正确识别并解析XML数据。 2...

    JAXB工具类 xml转为java对象 java对象转为xml

    有了这个Java类,你可以使用Unmarshaller将XML字符串或文件解析为Java对象: ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import java.io.File; public class Main { ...

    将string类型xml字符串转为json字符串

    总结来说,将string类型的XML字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...

    XML转换为JAVA对象的方法

    接着,你可以将Java对象转换为XML字符串: ```java Person person = new Person(); person.setName("John"); person.setAge(30); String xml = xstream.toXML(person); System.out.println(xml); ``` 反之,如果...

    将对象(java bean)转换为xml字符串

    在Java开发中,有时我们需要将Java Bean对象转换成XML字符串,以便于数据交换或存储。XStream库就是这样一个工具,它提供了一种简单且高效的方式来实现这个目标。XStream不仅能够将Java对象转换为XML,还可以反向将...

    java对象转换为json字符串或字符串数组

    在Java开发中,将Java对象转换为JSON字符串或字符串数组是一项常见的任务,特别是在与前端交互、数据存储或者网络传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    java 中HttpClient传输xml字符串实例详解

    至此,我们已经成功地使用Java的HttpClient库将一个对象转换为XML字符串,并以二进制流的方式发送到了服务器。这个过程中涉及的关键技术包括对象到XML的转换(JAXB)、流操作(ByteArrayOutputStream和...

    xml和JAVA对象转换 simple-xml2object

    simple-xml2object是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包。 下载后,压缩包包含一个jar包,导入即可。包含一个测试类,有详细的注释展示用法。还包含一个中文文档。

    java将xml串转换成Map类型

    将xml串转换成Map类型,如果有重复节点,自动转换为list类型存储,所以最终转换并非绝对Map

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    首先,让我们探讨`Map`集合转成XML字符串的过程。一个`Map`对象存储键值对,可以使用各种库如`JAXB (Java Architecture for XML Binding)`、`DOM (Document Object Model)`或`SAX (Simple API for XML)`来实现转换。...

    java反射机制 字符串——java对象

    在提供的`xmlToObj.java`文件中,可能包含一个示例,演示如何使用反射和XML解析技术将XML字符串转换回Java对象。可能的实现是先使用XML解析库(如JAXB或DOM)将XML字符串解析成DOM树,然后通过反射找到对应的类并...

    使用dom4j将xml字符串转换成Bean对象

    当我们需要将XML字符串解析并映射到Java Bean对象时,dom4j是一个常用的库。本篇文章将详细探讨如何使用dom4j库实现这个过程。 首先,dom4j是一个强大的Java XML API,它提供了丰富的功能,如读取、写入、修改和...

    xml格式的字符串转换成List

    要将这样的XML字符串转换为List,我们需要解析XML并将其转化为相应的Java或C#对象。这个过程通常分为以下几个步骤: 1. **解析XML**:可以使用内置库或第三方库来解析XML字符串。在Java中,可以使用DOM(Document ...

    JAVA对象转换成XML(CDATA)

    [CDATA[ 文本内容 ]]&gt;`,其中"文本内容"部分不能包含字符串"]]&gt;",以防止提前结束CDATA段。同时,CDATA段不能嵌套,也就是说,一个CDATA段内部不能再有另一个CDATA段。 要将Java对象转换成XML并包含CDATA,我们可以...

    JAVA对象与XML互转

    一、Java对象转XML 1. **JAXB**(Java Architecture for XML Binding):这是Java标准API,用于将Java对象映射到XML文档,反之亦然。使用JAXB,我们可以方便地实现对象到XML的序列化和XML到对象的反序列化。 - **...

    java xml和map互转

    `xmlToMap`方法首先使用SAXReader解析XML字符串,然后递归地遍历XML文档的元素,将它们转换为Map结构。 `mapToXml`方法则将Map转换成XML字符串: ```java import org.dom4j.Document; import org.dom4j....

    xml与实体类转换工具

    5. **实体类转XML**:反之,使用`Marshaller`将Java对象序列化为XML字符串。例如,`marshaller.marshal(yourEntity, new StringWriter())`会返回一个XML字符串。 `MyTest`类可能是测试类,包含了一些示例用法,用于...

    xml和java对象互转

    4. **XML转对象**:反向操作,将XML字符串转换回Java对象,使用`fromXML()`方法。 ```java String xmlInput = "&lt;student&gt;&lt;name&gt;John Doe&lt;/name&gt;&lt;age&gt;25&lt;/age&gt;&lt;/student&gt;"; Student deserializedStudent = ...

    实体类生成XML格式字符串

    这段代码会生成一个XML字符串,内容类似于: ```xml 张三 &lt;age&gt;30 北京 北京市 ``` 注意,JAXB默认不会生成XML声明(如`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`),如果需要,可以设置Marshaller的...

Global site tag (gtag.js) - Google Analytics