`

Java Xstream xml 与bean之间的转换

    博客分类:
  • Java
阅读更多
xml文件如下:
<mvc>  
    <action name="user/select" class="com.cloud.mvc.controller.UserController" method="select">  
        <result name="success">/WEB-INF/view/index.jsp</result>  
        <result name="faild">/index.jsp</result>  
    </action> 
<action name="user/select" class="com.cloud.mvc.controller.UserController" method="select">  
        <result name="success">/WEB-INF/view/index.jsp</result>  
        <result name="faild">/index.jsp</result>  
    </action> 	
</mvc>  



代码如下:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.converters.extended.ToAttributedValueConverter;
import com.thoughtworks.xstream.io.xml.DomDriver;

@XStreamAlias("mvc")
class MVC {
	@XStreamImplicit()
	@XStreamAlias("action")
	private List<Action> actionlist;

	public List<Action> getActionlist() {
		return actionlist;
	}

	public void setActionlist(List<Action> actionlist) {
		this.actionlist = actionlist;
	}
}

@XStreamAlias("action")
class Action {
	@XStreamAsAttribute()
	@XStreamAlias("name")
	private String name;
	@XStreamAsAttribute()
	@XStreamAlias("class")
	private String classname;
	@XStreamAsAttribute()
	@XStreamAlias("method")
	private String method;
	@XStreamImplicit
	@XStreamAlias("result")
	private List<Result> rlist;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getClassname() {
		return classname;
	}

	public void setClassname(String classname) {
		this.classname = classname;
	}

	public String getMethod() {
		return method;
	}

	public void setMethod(String method) {
		this.method = method;
	}

	public List<Result> getRlist() {
		return rlist;
	}

	public void setRlist(List<Result> rlist) {
		this.rlist = rlist;
	}
}

@XStreamAlias("result")  
@XStreamConverter(value = ToAttributedValueConverter.class, strings = { "value" }) 
class Result {
	@XStreamAsAttribute()
	private String name;
	
	private String value;
	

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}	
}

public class GetList {
	public static void main(String args[]) throws IOException{
    	Class cls=MVC.class;
    	String xmlStr="";
    	File f=new File("D:"+File.separator+"test.xml");
    	BufferedReader  reader = null;
    	reader = new BufferedReader(new FileReader(f));
    	String tempString = null;
        int line = 1;
         while ((tempString = reader.readLine()) != null) {
        	 tempString=tempString.trim();
        	 xmlStr=xmlStr+tempString;
             line++;
         }
        reader.close();
    	System.out.println(xmlStr);
    	XStream xstream = new XStream(new DomDriver());
        xstream.processAnnotations(cls);
        MVC mvc=(MVC)xstream.fromXML(xmlStr);
       
        for(int i=0;i<mvc.getActionlist().size();i++){
        	Action action=mvc.getActionlist().get(i);
        	System.out.println(action.getClassname()+","+action.getName()+","+action.getMethod());
        	for(int j=0;j<action.getRlist().size();j++){
        		Result r=action.getRlist().get(j);
        		System.out.println(r.getName()+","+r.getValue());
        	}
        }
    }
}
分享到:
评论

相关推荐

    xStream xml to bean

    在Java开发中,数据转换是常见...总之,xStream是一个强大的工具,可以简化Java与XML之间的转换。通过创建这样一个工具类,开发者可以更方便地在XML数据和Java Bean对象之间进行转换,从而提高代码的可读性和可维护性。

    xml解析及使用XStream实现javaBean与xml之间的转换

    在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何使用DOM、SAX、StAX和XStream解析XML文件,并展示了XStream如何在JavaBean与XML之间进行转换。你可以运行这些代码,观察输出结果,以加深理解。...

    xstream 1.3.1.jar bean对象转换为xml

    总结起来,XStream 1.3.1.jar提供了一个简单易用的API,使得Java开发者能轻松地在Java Bean对象和XML之间进行转换。它简化了序列化和反序列化的过程,是许多Java项目的理想选择,特别是那些需要处理XML数据流的项目...

    JavaXml及Bean互转

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

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

    XStream不仅能够将Java对象转换为XML,还可以反向将XML转换回Java对象,极大地简化了对象与XML之间的序列化和反序列化过程。 XStream库是由Johannes Lehtinen创建的一个开源项目,它是基于Java的,可以处理复杂的...

    XStream在JavaBean与XML/JSON 之间相互转换

    **XStream:JavaBean与XML/JSON之间的转换大师** XStream是一个开源库,它为Java对象提供了简单且直观的XML序列化和反序列化的解决方案。它不仅能够将Java对象转换成XML,反之亦然,还能支持JSON格式的转换。这个...

    xstream+xmlpull xml to bean &&bean to xml

    XStream是Java中一个流行的数据绑定库,它能够将Java对象序列化为XML,反之亦然,极大地简化了Java对象与XML之间的转换。XMLPull是轻量级的API,用于解析XML文档,它允许开发者以事件驱动的方式处理XML流,而无需...

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

    在Java开发中,XML(可扩展标记语言)和Bean之间的相互转换是常见的操作,尤其是在处理配置文件、数据持久化或Web服务时。这里的"bean"通常指的是JavaBeans,即符合特定设计模式的Java对象,它们封装了数据并提供了...

    xstream-1.3.1.jar javabean与xml之间的转化

    XStream 是一个强大的 Java 库,它允许程序员以一种简单直观的方式将 Java 对象序列化为 XML,同时也可以从 XML 文档反序列化回 ...在项目中使用 xstream-1.3.1.jar,可以轻松实现 Java 对象与 XML 文档之间的转换。

    java对象与xml的互相转换

    Java对象与XML之间的转换是Java开发中常见的需求,特别是在数据交换、配置文件存储或Web服务交互等场景。本文将深入探讨如何实现Java对象到XML以及XML到Java对象的转换。 首先,Java对象到XML的转换通常涉及到Java...

    xstream实现xml和java bean 互相转换

    它可以将Java对象转换为XML文档,也可以将XML文档转换为Java对象。 pom引用 &lt;groupId&gt;com.thoughtworks.xstream&lt;/groupId&gt; &lt;artifactId&gt;xstream &lt;version&gt;1.4.20 实体类和测试类详见博客 ...

    xml与javabean之间的相互转换,很方便,导入即可使用

    XStream是一款强大的Java库,它能将Java对象序列化为XML,同时也能将XML反序列化为Java对象,极大地简化了XML与JavaBean之间的交互。其工作原理主要是通过反射机制获取Java对象的属性,并将其映射到XML元素上。 ...

    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文档...

    java类与xml之间相互转换实例

    Java 类与XML之间的相互转换是Java开发中常见的一项任务,特别是在处理配置文件、数据持久化或者网络通信时。XStream库提供了一种简单且高效的方式来实现这种转换,它是一个Java库,可以将Java对象序列化为XML,也...

    Converter between XML and Java Bean

    总之,"Converter between XML and Java Bean"涉及的关键知识点是利用如XStream这样的库实现XML与Java对象之间的转换,这在Java开发中是非常重要且实用的技能,尤其在处理数据交换、持久化存储和跨系统通信时。...

    XML、JAVA、JSON多种方式互相转换

    下面我们将详细探讨XML、Java与JSON的转换方法。 1. XML到JSON转换: - 使用Java的Jackson库:Jackson库中的`com.fasterxml.jackson.databind.ObjectMapper`类提供了将XML转换为JSON的功能。首先,我们需要解析XML...

    xstream 让javabean和xml互相转换

    接下来,我们将介绍如何将一个简单的Java Bean转换为XML。假设我们有一个User类: ```java public class User { private String name; private int age; // getters and setters } ``` 使用XStream,我们可以...

    XML2Bean

    在给定的压缩包文件中,包含了一个名为“XStreamTool.java”的文件,这很可能是实现XML到Bean转换的核心代码。 XStream是一个开源库,它提供了这种转换功能。它通过反射机制将XML映射到Java对象,并能将Java对象...

    XStream转换

    要将Java bean转换为XML,你需要创建一个XStream实例并使用它来转换对象。以下是一个简单的示例: ```java import com.thoughtworks.xstream.XStream; public class User { private String name; private int ...

    JAVA对象转换成XML(CDATA)

    要将Java对象转换成XML并包含CDATA,我们可以利用如XStream这样的库。XStream是一个简单且功能强大的库,用于将Java对象转换为XML,反之亦然。在上述例子中,我们看到了一个自定义的实现过程,包括三个主要类:...

Global site tag (gtag.js) - Google Analytics