`
fkyq01
  • 浏览: 38334 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

xml与bean转换

    博客分类:
  • java
阅读更多

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

都可以实现类似功能 具体哪个更好没有分析。
分享到:
评论

相关推荐

    xml和bean 互相转换

    2. **转换为XML**:使用JAXB的Marshaller将Bean转换为XML字符串或写入文件。 ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import java.io.File; public class WebController { ...

    任意深度xml与bean的互转

    在"XMLTest"这个文件中,可能包含了测试XML与Bean转换的代码。测试通常会涵盖各种情况,如基础数据类型的转换、列表的转换、嵌套Bean的转换,以及异常处理等,以确保转换的正确性和鲁棒性。 总结来说,"任意深度xml...

    xml和java bean互相转换工具包(简单易用)

    xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...

    jaxb XMl和BEAN互转实例(内含jar包)

    以下是JAXB在XML到BEAN转换中的工作原理: 1. **注解BEAN类**:首先,我们需要在BEAN类上添加JAXB注解。比如,`@XmlRootElement`注解用于标记BEAN类为XML文档的根元素,`@XmlElement`或`@XmlAttribute`注解用于映射...

    xml 转Java bean工具

    XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件以及对象序列化等领域。...对于处理大量XML数据或者频繁进行XML到Java Bean转换的项目,这样的工具是不可或缺的。

    JavaXml及Bean互转

    - 使用`toXML()`方法将Java Bean转换为XML字符串。 - 使用`fromXML()`方法将XML字符串转换为Java Bean。 3. **示例**: ```java import com.thoughtworks.xstream.XStream; public class XStreamDemo { ...

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

    要将XML字符串转换为Bean对象,我们首先需要创建一个Bean类,这个类的属性与XML节点相对应。例如,如果我们有以下XML字符串: ```xml &lt;name&gt;Yang Yong &lt;age&gt;30 &lt;email&gt;yangyong@example.com&lt;/email&gt; ``` 我们...

    xStream xml to bean

    这个工具类的目标就是利用xStream的功能,方便地将XML文档转换为Java Bean对象,以及将Bean对象转换为XML字符串。 xStream的核心思想是通过反射和类型映射来实现对象与XML之间的转换。它使用一种称为“annoation”...

    利用jaxb实现xml和bean互转

    JAXB可以基于XML Schema自动生成Java Bean类,或者将Java Bean类转换为XML Schema。 3. **Marshalling**: 将Java对象转换为XML的过程称为 marshalling。JAXB提供了`Marshaller`接口来实现这一功能。 4. **...

    xml to bean or bean to xml

    1. XML到Bean转换: 这个过程通常称为XML的反序列化。Java提供了多种库来实现这个功能,如JAXB(Java Architecture for XML Binding)和DOM(Document Object Model)。JAXB是Java SE的标准部分,可以自动将XML文档...

    xml和bean之间的相互转换源码

    下面将详细解释XML与Bean之间的转换原理、相关API以及其实现步骤。 1. **XML到Bean的转换**: 当我们需要将XML文件解析为Java对象时,通常会使用`JAXB(Java Architecture for XML Binding)`或者`DOM(Document ...

    支持XML转Bean

    本教程将深入探讨如何在Java中实现XML到Bean的转换,并提供实际运行的示例。 首先,我们需要了解Java的API——JAXB(Java Architecture for XML Binding),这是一个用于在Java对象和XML之间进行映射的标准库。JAXB...

    javabean和xml互相转换工具类以及jar包

    - **使用Apache Commons Betwixt**:与转换过程类似,Betwixt提供了从XML到JavaBean的反向映射功能。 在实际应用中,`Bean2xml.java`可能是一个工具类,它封装了上述转换逻辑。这个类可能包含静态方法,如`...

    xstream 1.3.1.jar bean对象转换为xml

    在这个版本中,XStream提供了对Java Bean对象转换为XML的全面支持。 **XStream的工作原理:** XStream的核心是基于反射的,它通过分析Java对象的类结构来构建XML表示。它使用了一种称为"alias"的概念,允许我们将...

    xmlbean入门实例

    3. **XMLBean的序列化与反序列化**: - 序列化:将Java对象转换为XML文档。这通常涉及调用对象的`save()`方法,将对象状态写入XML格式。 - 反序列化:从XML文档创建Java对象。使用`org.apache.xmlbeans.XmlObject....

    castor样例xml to bean和bean to xml样例

    1. XML到Bean转换: 当我们需要将XML文档解析成Java对象时,Castor提供了便利的方法。首先,你需要创建一个描述XML结构与Java类之间映射关系的Mapping文件。在Mapping文件中,定义了XML元素和属性与Java类的字段...

    java 使用 JAXB 将xml转换为 bean 包含xml和dto和读取文件的util类

    总结来说,这个压缩包提供的内容涉及了Java中使用JAXB进行XML与Java对象之间转换的实际应用,以及辅助的DTO和文件读取工具。这些对于理解和实现XML数据处理的Java应用非常有帮助。开发者可以通过学习和使用这些示例...

    xmlbean&xmlstream

    XMLBean和XMLStream是两种处理XML数据与Java对象之间转换的工具,它们在Java开发中广泛用于解析XML文档和创建Java对象。这两种方法各有特点,适用于不同的场景。 XMLBean是Apache软件基金会的Cocoon项目的一部分,...

    xmlBean eclipse插件

    XMLBean是Apache软件基金会开发的一款工具,主要用于将XML Schema(XSD)转换为Java Bean类,使得开发者可以方便地在Java应用中处理XML数据。Eclipse是一个广泛使用的集成开发环境(IDE),支持多种编程语言,包括...

Global site tag (gtag.js) - Google Analytics