package selftest;
import java.io.IOException;
import java.io.StringWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class TestBean
{
private Integer id;
private String userName;
private Integer userAge;
private String note;
public TestBean()
{
}
public TestBean loadFromElement(Element element)
{
TestBean tb = new TestBean();
Element subE = null;
subE = element.getChild("id");
tb.setId(Integer.parseInt(subE.getTextTrim()));
subE = element.getChild("userName");
tb.setUserName(subE.getTextTrim());
subE = element.getChild("userAge");
tb.setUserAge(Integer.parseInt(subE.getTextTrim()));
subE = element.getChild("note");
tb.setNote(subE.getTextTrim());
return tb;
}
public TestBean loadFromResultSet(ResultSet rs) throws SQLException
{
TestBean tb = new TestBean();
tb.setId(rs.getInt("id"));
tb.setUserName(rs.getString("userName"));
tb.setUserAge(rs.getInt("userAge"));
tb.setNote(rs.getString("note"));
return tb;
}
public Element toElement()
{
Element root = new Element("bean");
Element e = null;
e = new Element("id");
e.setText(id.toString());
root.addContent(e);
e = new Element("userName");
e.setText(userName);
root.addContent(e);
e = new Element("userAge");
e.setText(userAge.toString());
root.addContent(e);
e = new Element("note");
e.setText(note);
root.addContent(e);
return root;
}
public String toXML()
{
StringWriter writer = new StringWriter(500);
try
{
Format format = Format.getPrettyFormat();
format.setEncoding("GBk");
XMLOutputter outputter = new XMLOutputter(format);
Element element = this.toElement();
Document document = new Document(element);
outputter.output(document, writer);
writer.flush();
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
writer.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return writer.getBuffer().toString();
}
public static void main(String[] args)
{
/*loadFromElement
toElement
toXML*/
TestBean tb = new TestBean();
tb.setId(1);
tb.setUserName("liujinsong");
tb.setUserAge(23);
tb.setNote("test");
System.out.println(tb.toXML());
System.out.println("-------");
Element e = tb.toElement();
//List<Element> list = e.getChildren();
//for(Element sube:list)
//{
System.out.println("id: "+e.getChild("id").getTextTrim());
System.out.println("userName: "+e.getChild("userName").getTextTrim());
System.out.println("userAge: "+e.getChild("userAge").getTextTrim());
System.out.println("note: "+e.getChild("note").getTextTrim());
//}
System.out.println("---------");
TestBean t = tb.loadFromElement(tb.toElement());
System.out.println("id: "+t.getId());
System.out.println("userName: "+t.getUserName());
System.out.println("userAge: "+t.getUserAge());
System.out.println("note: "+t.getNote());
}
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
public String getUserName()
{
return userName;
}
public void setUserName(String userName)
{
this.userName = userName;
}
public String getNote()
{
return note;
}
public void setNote(String note)
{
this.note = note;
}
public Integer getUserAge()
{
return userAge;
}
public void setUserAge(Integer userAge)
{
this.userAge = userAge;
}
}
分享到:
相关推荐
- **使用第三方库,如Apache Commons Betwixt**:Betwixt是Apache Commons项目的一部分,提供了一种简单的机制来映射Java对象到XML和从XML到Java对象。在提供的`commons-betwixt-0.8.jar`中,包含了Betwixt库,可以...
JavaBean是一种符合特定规范的Java类,通常用于封装数据和业务逻辑,而XML(eXtensible Markup Language)则是一种用于存储和传输结构化数据的标记语言。在实际项目中,有时我们需要在JavaBean和XML之间进行转换,以...
总结,JavaBean生成XML的关键在于选择合适的序列化库,如XStream,它提供了简单易用的API来实现对象到XML的转换。通过定义JavaBean,初始化XStream,配置别名,然后调用相应的转换方法,即可完成数据的序列化和反...
JavaBean是一种Java编程语言中的设计模式,用于封装数据和业务逻辑,它提供了一种标准的方式来创建可重用的、组件化的对象。XML(eXtensible Markup Language)则是一种用于存储和传输数据的标记语言,广泛应用在...
JavaBean是一种符合特定规范的Java类,通常用于封装数据。它应具有默认的无参构造器,公开的属性(getter和setter方法)以及可选的操作方法。例如: ```java public class User { private String name; private ...
首先,JavaBean是一种遵循特定规则的Java类,它通常代表业务对象,具有getter和setter方法,用于封装数据。而XML(eXtensible Markup Language)是一种标记语言,用于存储和传输结构化数据。它们之间的互转有助于在...
XML(可扩展标记语言)因其结构化和人类可读性而广泛用于存储和传输数据,而JavaBean则是一种符合Java编程规范的对象,用于封装业务逻辑和数据。在Java应用中,我们经常需要将JavaBean对象序列化为XML格式,或者从...
4. **处理复杂类型**:如果javabean的某个字段也是一个javabean,我们需要递归调用封装方法,以确保整个对象树都被转换为XML。这可能涉及到处理嵌套的`Element`和处理数组或集合类型的字段。 5. **异常处理**:在...
JavaBean到XML映射文件工具是一种实用程序,它允许开发者将Java对象(即JavaBean)的数据转换成XML格式的文件,反之亦然。这个工具在处理数据交换、持久化或配置文件时非常有用,特别是在使用像Castor这样的框架时。...
在Java编程中,JavaBean是一种遵循特定规则的对象,通常用于数据封装和业务逻辑处理。将JavaBean转换为XML是常见的数据交换格式转换需求,特别是在Web服务、数据存储或配置文件中。本文将深入探讨三种将JavaBean转换...
在Java开发中,工具类是封装了常用功能的静态方法集合,通常包含对JavaBean或XML处理的实用方法。例如,一个JavaBean工具类可能提供创建、复制、验证JavaBean属性的函数;而XML工具类则可能包含解析XML文件、提取...
而JavaBean则是Java对象的一种简化表示,便于封装和处理业务逻辑。当需要在Java程序中处理XML数据时,JAXB(Java Architecture for XML Binding)提供了一种方便、高效的方法,将Java对象和XML文档之间进行映射,...
Java Bean是符合一定规范的Java类,通常具有getter和setter方法,用于封装数据。 XML到Java Bean的转换可以手动完成,但这种方式效率低下且容易出错。因此,出现了许多自动化工具来帮助开发者进行这个过程,提高了...
XStream使用简单的注解,使得JavaBean到XML的转换变得直观且易于理解。 6. **BeanIO**:BeanIO是一个用于流式读写JavaBean和XML/CSV等结构化数据的库。它允许通过模板文件定义数据映射,简化了JavaBean和XML之间的...
使用XStream进行XML与JavaBean的转换非常简单。首先,你需要在项目中引入XStream库,如果是MyEclipse,可以通过右键点击项目 -> Build Path -> Configure Build Path -> Libraries -> Add External JARs,选择...
JavaBean是一种特殊的Java类,遵循特定的命名规则和设计模式,用于封装数据和业务逻辑,常在Java应用中作为对象模型使用。 标题“java根据xml生成schema_xsd_生成javabean”涉及的知识点主要包括: 1. XML到XSD的...