1. XStream类实现转换
import com.thoughtworks.xstream.XStream;
import java.util.Map;
import java.util.Iterator;
/**
* XML与JavaBean相互转换工具类
* File: XMLBeanUtils.java
* User: leizhimin
* Date: 2008-3-5 14:28:29
*/
public final class XMLBeanUtils {
/**
* 将Bean转换为XML
*
* @param clazzMap 别名-类名映射Map
* @param bean 要转换为xml的bean对象
* @return XML字符串
*/
public static String bean2xml(Map<String, Class> clazzMap, Object bean) {
XStream xstream = new XStream();
for (Iterator it = clazzMap.entrySet().iterator(); it.hasNext();) {
Map.Entry<String, Class> m = (Map.Entry<String, Class>) it.next();
xstream.alias(m.getKey(), m.getValue());
}
String xml = xstream.toXML(bean);
return xml;
}
/**
* 将XML转换为Bean
*
* @param clazzMap 别名-类名映射Map
* @param xml 要转换为bean对象的xml字符串
* @return Java Bean对象
*/
public static Object xml2Bean(Map<String, Class> clazzMap, String xml) {
XStream xstream = new XStream();
for (Iterator it = clazzMap.entrySet().iterator(); it.hasNext();) {
Map.Entry<String, Class> m = (Map.Entry<String, Class>) it.next();
xstream.alias(m.getKey(), m.getValue());
}
Object bean = xstream.fromXML(xml);
return bean;
}
/**
* 获取XStream对象
*
* @param clazzMap 别名-类名映射Map
* @return XStream对象
*/
public static XStream getXStreamObject(Map<String, Class> clazzMap) {
XStream xstream = new XStream();
for (Iterator it = clazzMap.entrySet().iterator(); it.hasNext();) {
Map.Entry<String, Class> m = (Map.Entry<String, Class>) it.next();
xstream.alias(m.getKey(), m.getValue());
}
return xstream;
}
}
import com.thoughtworks.xstream.XStream;
import java.util.Map;
import java.util.HashMap;
/**
* Created by IntelliJ IDEA.
* File: XStreamFactory.java
* User: leizhimin
* Date: 2008-3-6 15:36:13
*/
public class XStreamFactory {
/**
* 获取????的XStream对象
*
* @return XStream对象
*/
public static XStream getXXXStream() {
Map<String, Class> cm = new HashMap<String, Class>();
cm.put("test", org.xxx.Test.class);
cm.put("ssss", org.xxx.s.Ssss.class);
return XMLBeanUtils.getXStreamObject(cm);
}
}
2. castor,jaxb,digester
都可以实现类似功能 具体哪个更好没有分析。
分享到:
相关推荐
2. **转换为XML**:使用JAXB的Marshaller将Bean转换为XML字符串或写入文件。 ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import java.io.File; public class WebController { ...
在"XMLTest"这个文件中,可能包含了测试XML与Bean转换的代码。测试通常会涵盖各种情况,如基础数据类型的转换、列表的转换、嵌套Bean的转换,以及异常处理等,以确保转换的正确性和鲁棒性。 总结来说,"任意深度xml...
xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...
以下是JAXB在XML到BEAN转换中的工作原理: 1. **注解BEAN类**:首先,我们需要在BEAN类上添加JAXB注解。比如,`@XmlRootElement`注解用于标记BEAN类为XML文档的根元素,`@XmlElement`或`@XmlAttribute`注解用于映射...
XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件以及对象序列化等领域。...对于处理大量XML数据或者频繁进行XML到Java Bean转换的项目,这样的工具是不可或缺的。
- 使用`toXML()`方法将Java Bean转换为XML字符串。 - 使用`fromXML()`方法将XML字符串转换为Java Bean。 3. **示例**: ```java import com.thoughtworks.xstream.XStream; public class XStreamDemo { ...
要将XML字符串转换为Bean对象,我们首先需要创建一个Bean类,这个类的属性与XML节点相对应。例如,如果我们有以下XML字符串: ```xml <name>Yang Yong <age>30 <email>yangyong@example.com</email> ``` 我们...
这个工具类的目标就是利用xStream的功能,方便地将XML文档转换为Java Bean对象,以及将Bean对象转换为XML字符串。 xStream的核心思想是通过反射和类型映射来实现对象与XML之间的转换。它使用一种称为“annoation”...
JAXB可以基于XML Schema自动生成Java Bean类,或者将Java Bean类转换为XML Schema。 3. **Marshalling**: 将Java对象转换为XML的过程称为 marshalling。JAXB提供了`Marshaller`接口来实现这一功能。 4. **...
1. XML到Bean转换: 这个过程通常称为XML的反序列化。Java提供了多种库来实现这个功能,如JAXB(Java Architecture for XML Binding)和DOM(Document Object Model)。JAXB是Java SE的标准部分,可以自动将XML文档...
下面将详细解释XML与Bean之间的转换原理、相关API以及其实现步骤。 1. **XML到Bean的转换**: 当我们需要将XML文件解析为Java对象时,通常会使用`JAXB(Java Architecture for XML Binding)`或者`DOM(Document ...
本教程将深入探讨如何在Java中实现XML到Bean的转换,并提供实际运行的示例。 首先,我们需要了解Java的API——JAXB(Java Architecture for XML Binding),这是一个用于在Java对象和XML之间进行映射的标准库。JAXB...
- **使用Apache Commons Betwixt**:与转换过程类似,Betwixt提供了从XML到JavaBean的反向映射功能。 在实际应用中,`Bean2xml.java`可能是一个工具类,它封装了上述转换逻辑。这个类可能包含静态方法,如`...
在这个版本中,XStream提供了对Java Bean对象转换为XML的全面支持。 **XStream的工作原理:** XStream的核心是基于反射的,它通过分析Java对象的类结构来构建XML表示。它使用了一种称为"alias"的概念,允许我们将...
3. **XMLBean的序列化与反序列化**: - 序列化:将Java对象转换为XML文档。这通常涉及调用对象的`save()`方法,将对象状态写入XML格式。 - 反序列化:从XML文档创建Java对象。使用`org.apache.xmlbeans.XmlObject....
1. XML到Bean转换: 当我们需要将XML文档解析成Java对象时,Castor提供了便利的方法。首先,你需要创建一个描述XML结构与Java类之间映射关系的Mapping文件。在Mapping文件中,定义了XML元素和属性与Java类的字段...
总结来说,这个压缩包提供的内容涉及了Java中使用JAXB进行XML与Java对象之间转换的实际应用,以及辅助的DTO和文件读取工具。这些对于理解和实现XML数据处理的Java应用非常有帮助。开发者可以通过学习和使用这些示例...
XMLBean和XMLStream是两种处理XML数据与Java对象之间转换的工具,它们在Java开发中广泛用于解析XML文档和创建Java对象。这两种方法各有特点,适用于不同的场景。 XMLBean是Apache软件基金会的Cocoon项目的一部分,...
XMLBean是Apache软件基金会开发的一款工具,主要用于将XML Schema(XSD)转换为Java Bean类,使得开发者可以方便地在Java应用中处理XML数据。Eclipse是一个广泛使用的集成开发环境(IDE),支持多种编程语言,包括...