不用复杂的代码,就可以让您的JavaBeans自己控制到XML文件的相互转化。本文展示了怎样通过JOX来实现从JavaBeans到XML文件的相互转换。
为了灵活的满足Web应用和Web services需求的变化,Java和XML的轻便性和可扩展性使它们成为解决这一问题的理想选择。SAX (Simple API for XML), DOM (document.nbspObject Model), XSL (Extensible Stylesheet Language), XSLT (XSL Transformations), SOAP (Simple Object Access Protocol), and BML (Bean Markup Language)是XML领域内的相关技术。本文集合了Java和XML轻便和可扩展的优点,但又不需要开发人员了解上述的相关技术。
在Java分布式应用中使用远程方法调用(RMI),而不是直接用底层的socket或其它网络链接代码。EJB技术也使开发人员从transaction,recovery, activation等底层机制中解放出来。同样,使用本文的JavaBean-XML映射组件,开发人员也不用直接处理与XML有关的APIs。
1.先定义javaBean
package
com.wutka.jox.test;
import
com.wutka.jox.
*
;
import
java.util.
*
;
public
class
TestBean
implements
java.io.Serializable
{
protected
int
foo;
protected
String bar;
protected
java.util.Date baz;
protected
Vector thingies;
protected
TestSubbean subbean;
public
TestBean()
{
bar
=
""
;
baz
=
new
Date();
thingies
=
new
Vector();
}
public
int
getFoo()
{
return
foo; }
public
void
setFoo(
int
aFoo)
{ foo
=
aFoo; }
public
String getBar()
{
return
bar; }
public
void
setBar(String aBar)
{ bar
=
aBar; }
public
java.util.Date getBaz()
{
return
baz; }
public
void
setBaz(java.util.Date aBaz)
{ baz
=
aBaz; }
public
TestSubbean getSub()
{
return
subbean; }
public
void
setSub(TestSubbean aSub)
{ subbean
=
aSub; }
public
String[] getThingies()
{
String[] retThingies
=
new
String[thingies.size()];
if
(thingies.size()
>
0
) thingies.copyInto(retThingies);
return
retThingies;
}
public
void
setThingies(String[] newThingies)
{
thingies
=
new
Vector(newThingies.length);
for
(
int
i
=
0
; i
<
newThingies.length; i
++
)
{
thingies.addElement(newThingies[i]);
}
}
public
String getThingies(
int
i)
{
return
(String) thingies.elementAt(i);
}
public
void
setThingies(
int
i, String thingy)
{
thingies.setElementAt(thingy, i);
}
public
String toString()
{
StringBuffer ret
=
new
StringBuffer(
"
foo=
"
+
foo
+
"
;bar=
"
+
bar
+
"
;baz=
"
+
baz.toString()
+
"
;thingies=
"
);
for
(
int
i
=
0
; i
<
thingies.size(); i
++
)
{
if
(i
>
0
) ret.append(
"
,
"
);
ret.append((String) thingies.elementAt(i));
}
ret.append(
"
;sub=
"
);
ret.append(subbean.toString());
return
ret.toString();
}
}
2.xml文件
<?
xml version="1.0"
?>
<
MarkTest
>
<
thingies
>
http://www.5a520.cn 小说520网
</
thingies
>
<
thingies
>
http://www.bt285.cn BT下载
</
thingies
>
<
thingies
>
http://www.bt285.cn/caj/ caj下载
</
thingies
>
<
thingies
>
http://www.bt285.cn/baolimotuo/ 暴力摩托
</
thingies
>
<
thingies
>
http://www.bt285.cn/btjinglin bt精灵
</
thingies
>
<
foo
>
5
</
foo
>
<
baz
>
6/25/00 12:46 AM
</
baz
>
<
bar
>
This is the website value
</
bar
>
<
sub
>
<
age
>
1
</
age
>
<
name
>
wangdei
</
name
>
</
sub
>
</
MarkTest
>
下面的程序是把xml转为成javaBean
package
com.wutka.jox.test;
import
com.wutka.jox.
*
;
import
java.io.
*
;
public
class
TestDeser
{
public
static
void
main(String[] args)
{
try
{
FileInputStream in
=
new
FileInputStream(
"
bean.xml
"
);
JOXBeanInputStream joxIn
=
new
JOXBeanInputStream(in);
TestBean testBean
=
(TestBean) joxIn.readObject(
TestBean.
class
);
System.out.println(testBean);
}
catch
(Exception exc)
{
exc.printStackTrace();
}
}
}
下面的程序是把javaBean转为成xml
package
com.wutka.jox.test;
import
com.wutka.jox.
*
;
import
java.io.
*
;
public
class
TestSer
{
public
static
void
main(String[] args)
{
try
{
TestBean b
=
new
TestBean();
b.setFoo(
5
);
b.setBar(
"
This is the bar value
"
);
b.setThingies(
new
String[]
{
"
http://www.5a520.cn 小说520网
"
,
"
http://www.bt285.cn BT下载
"
,
"
http://www.bt285.cn/caj/ caj下载
"
,
"
http://www.bt285.cn/baolimotuo/ 暴力摩托
"
,
"
http://www.bt285.cn/btjinglin bt精灵
"
}
);
TestSubbean sub
=
new
TestSubbean();
sub.setName(
"
Mark
"
);
sub.setAge(
35
);
b.setSub(sub);
FileOutputStream fileOut
=
new
FileOutputStream(
"
bean.xml
"
);
JOXBeanOutputStream joxOut
=
new
JOXBeanOutputStream(fileOut);
joxOut.writeObject(
"
MarkTest
"
, b);
joxOut.close();
分享到:
相关推荐
它简化了XML与JavaBeans之间的交互,提高了开发效率,使得处理XML变得更加简单。通过定义符合JavaBeans规范的类,开发者可以轻松地将Java对象序列化为XML,反之亦然,这在分布式系统、Web服务和数据持久化等场景下...
XML和JavaBean相互转化是一个非常有用的工作,用来读写xml的组件很多,比如dom4j, sax, JDom,Digester等,但是很多组件用起来很麻烦,今天给大家推荐一个超级简单的组件JOX, JOX是一套用户XML document和Java ...
jox是一组java类库 实现javaBean与xml相互转化 更加容易
汇总了jox所有依赖的包,可以支持xml与javabean之间相互转换,我也是在逐步调试过程中,把这些包汇总上来的,jox的站点已经停止访问了,放在这里方便大家下载。生成的xml可以格式化还有中文解决等。...
总的来说,这个实例教程或库主要面向Java开发者,帮助他们理解和使用JOX库来实现JavaBean对象与XML之间的相互转换。通过JOX,开发者可以避免手动编写XML序列化和反序列化的代码,从而提高开发效率,减少错误,并简化...
在开发过程中JavaBean与xml之间相互转换,jox给我们提供了很好的方便,但是jox官网已关闭,所以在这里方便大家下载使用;此资源中包含了jox所有依赖的jar包;解决xml中文格式化问题,JOXBeanOutputStream joxOut = ...
核心:解决了日期格式转化和导出XML中文乱码问题 介绍:有时候,我们需要把javabean的内容保存到文件,或者通过网络传递。这时候,把javabean转化为xml是一个常用的方式。但java本身提供的操作xml的方式有些麻烦,而...
在这里,我们将深入探讨一个名为jox的Java库,它集合了多个组件和模块,提供了一整套解决方案来实现JavaBean与XML之间的互相转化,并包含了测试类以确保其功能的可靠性。 首先,让我们回顾一下JavaBean和XML这两种...
4. **性能与效率**:相比于其他重量级的工具如JIBX(Java Inbound/Outbound Binder)和Apache的Web服务工具,JOX的轻量级设计使其在处理简单的XML与JavaBean转换时更加高效。如果你没有Web服务的需求,或者不需处理...
总结来说,Jox库提供了一个方便的工具`BeanXmlMapping`,用于XML与JavaBean之间的相互转换,这对于在Java应用中处理结构化数据非常有用。通过熟练掌握其用法,开发者可以更加高效地在对象模型和XML文档之间进行数据...
通过JOX来实现从JavaBeans到XML文件的相互转换。 为了灵活的满足Web应用和Web services需求的变化,Java和XML的轻便性和可扩展性使它们成为解决这一问题的理想选择。SAX (Simple API for XML), DOM (document....
jox库是一个轻量级的Java库,专注于JavaBean与XML之间的转换。它使用JDOM作为XML处理的底层实现,提供了简单易用的API来处理JavaBean到XML以及XML到JavaBean的转换。jox库的优点在于其简洁的API和对JavaBean属性的...
jox-1.17b3,好用的XML转换工具包,dtdparser121.jar;jaxp.jar;jox-1.17b3.jar;junit_3.8.2.jar;parser.jar;xercesimpl.jar;xml-apis.jar
jox-1.16.jar jox-1.16.jar
找了好久,才配出了这个例子,这个还是一个国外网站的,不容易,例子写的很简单,容易理解,千万别错过,
《深入解析jox1.6源码:洞察其设计与实现》 jox1.6源码是一款在编程社区中颇受欢迎的开源项目,对于学习和理解特定技术、提升编程技能具有很高的价值。本文将围绕jox1.6源码进行深入探讨,旨在帮助开发者们了解其...
微信小程序组件,持续更新中jox-wxapp-master.zip
调压电路设计的核心是利用三台单相小容量降压变压器,通过特殊的连接方式形成自耦升、降压变压器,实现对三相电源电压的精细调节。当变压器的初、次级线圈以正极性串联连接时,电路表现为降压功能,而以负极性串联时...
链接:https://pan.baidu.com/s/1YJljQQULK0vfCm66EgQZ4A 密码:6jox ADS分享总汇1