下面是一个简单的例子
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>
相关推荐
实现 XML字符串转VO对象的实现 1.0:标签读取,属性读取,List类型标签实现 以下是 测试说明 原XML: <?xml version="1.0" encoding="UTF-8"?> <HEADER NAME="HEADERname" name_cn="头名称">标签text...
1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这是为了将字符串转换为可以被SAXBuilder读取的形式。接着,使用`InputSource`封装`StringReader`,以便SAXBuilder能够正确识别并解析XML数据。 2...
有了这个Java类,你可以使用Unmarshaller将XML字符串或文件解析为Java对象: ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import java.io.File; public class Main { ...
接着,你可以将Java对象转换为XML字符串: ```java Person person = new Person(); person.setName("John"); person.setAge(30); String xml = xstream.toXML(person); System.out.println(xml); ``` 反之,如果...
总结来说,将string类型的XML字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...
在Java开发中,有时我们需要将Java Bean对象转换成XML字符串,以便于数据交换或存储。XStream库就是这样一个工具,它提供了一种简单且高效的方式来实现这个目标。XStream不仅能够将Java对象转换为XML,还可以反向将...
至此,我们已经成功地使用Java的HttpClient库将一个对象转换为XML字符串,并以二进制流的方式发送到了服务器。这个过程中涉及的关键技术包括对象到XML的转换(JAXB)、流操作(ByteArrayOutputStream和...
在Java开发中,将Java对象转换为JSON字符串或字符串数组是一项常见的任务,特别是在与前端交互、数据存储或者网络传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...
simple-xml2object是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包。 下载后,压缩包包含一个jar包,导入即可。包含一个测试类,有详细的注释展示用法。还包含一个中文文档。
将xml串转换成Map类型,如果有重复节点,自动转换为list类型存储,所以最终转换并非绝对Map
首先,让我们探讨`Map`集合转成XML字符串的过程。一个`Map`对象存储键值对,可以使用各种库如`JAXB (Java Architecture for XML Binding)`、`DOM (Document Object Model)`或`SAX (Simple API for XML)`来实现转换。...
在提供的`xmlToObj.java`文件中,可能包含一个示例,演示如何使用反射和XML解析技术将XML字符串转换回Java对象。可能的实现是先使用XML解析库(如JAXB或DOM)将XML字符串解析成DOM树,然后通过反射找到对应的类并...
[CDATA[ 文本内容 ]]>`,其中"文本内容"部分不能包含字符串"]]>",以防止提前结束CDATA段。同时,CDATA段不能嵌套,也就是说,一个CDATA段内部不能再有另一个CDATA段。 要将Java对象转换成XML并包含CDATA,我们可以...
要将这样的XML字符串转换为List,我们需要解析XML并将其转化为相应的Java或C#对象。这个过程通常分为以下几个步骤: 1. **解析XML**:可以使用内置库或第三方库来解析XML字符串。在Java中,可以使用DOM(Document ...
当我们需要将XML字符串解析并映射到Java Bean对象时,dom4j是一个常用的库。本篇文章将详细探讨如何使用dom4j库实现这个过程。 首先,dom4j是一个强大的Java XML API,它提供了丰富的功能,如读取、写入、修改和...
一、Java对象转XML 1. **JAXB**(Java Architecture for XML Binding):这是Java标准API,用于将Java对象映射到XML文档,反之亦然。使用JAXB,我们可以方便地实现对象到XML的序列化和XML到对象的反序列化。 - **...
`xmlToMap`方法首先使用SAXReader解析XML字符串,然后递归地遍历XML文档的元素,将它们转换为Map结构。 `mapToXml`方法则将Map转换成XML字符串: ```java import org.dom4j.Document; import org.dom4j....
4. **XML转对象**:反向操作,将XML字符串转换回Java对象,使用`fromXML()`方法。 ```java String xmlInput = "<student><name>John Doe</name><age>25</age></student>"; Student deserializedStudent = ...
5. **实体类转XML**:反之,使用`Marshaller`将Java对象序列化为XML字符串。例如,`marshaller.marshal(yourEntity, new StringWriter())`会返回一个XML字符串。 `MyTest`类可能是测试类,包含了一些示例用法,用于...
这段代码会生成一个XML字符串,内容类似于: ```xml 张三 <age>30 北京 北京市 ``` 注意,JAXB默认不会生成XML声明(如`<?xml version="1.0" encoding="UTF-8"?>`),如果需要,可以设置Marshaller的...