科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道轻松实现JavaBeans到XML的相互转换2

轻松实现JavaBeans到XML的相互转换2

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

 为了灵活的满足Web应用和Web services需求的变化,Java和XML的轻便性和可扩展性使它们成为解决这一问题的理想选择。不用复杂的代码,就可以让您的JavaBeans自己控制到XML文件的相互转化。本文展示了怎样通过写组件来实现从JavaBeans到XML文件的相互转换。

来源:IT专家网 2008年5月12日

关键字: 转换 XML JavaBean java

  • 评论
  • 分享微博
  • 分享邮件
从XML转换到JavaBean

  读XML文件时,根结点名,节点属性,嵌套节点会分别与bean,set方法和嵌套的beans建立映射关系。因此,要完成映射,必须为每个bean提供默认构造函数及每个属性的set方法(基本类型或嵌套bean)。

  图3 显示ContactInfo的XML文件,对应的ContactInfo类及通过fromXML()方法产生的ContactInfo类实例。

  使用举例

  让我们看一个使用BeanXMLMapping组件的例子。例子由XML文件,JavaBean类和一个在线银行的快照组成。你可以从这里下载例子的源码.

  图4 在线银行的历史帐务页面。

  图5显示类AccountHistory的类图, 列表3显示该类通过toXML()方法产生的XML文件。

列表3 XML封装的历史帐务信息

<?xml version="1.0" encoding="ISO-8859-1"?>
<AccountHistory>
<transactionList>
<transaction>
<deposit></deposit>
<withdraw>-$1,150.00 </withdraw>
<date>3/10/2002 </date>
<description>Check Number: 213 </description>
<balance>$3,340.50</balance>
</transaction>
<transaction>
<deposit></deposit>
<withdraw>-$151.50</withdraw>
<date>3/7/2002</date>
<description>ATM Withdrawal 350 SAN JOSE CA</description>
<balance>$3,189.00</balance>
</transaction>
<transaction>
<deposit>$4,060.40 </deposit>
<withdraw></withdraw>
<date>3/5/2002</date>
<description>ACH DEPOSIT - MyCompany </description>
<balance>$7,249.40</balance>
</transaction>
<transaction>
<deposit></deposit>
<withdraw>-$20.00</withdraw>
<date>2/26/2002</date>
<description>JC'S BBQ AND DELI SAN JOSE CA </description>
<balance>$7,229.40</balance>
</transaction>
</transactionList>
<accountHistoryContext>
<account>
<holder>Paulo Caroli</holder>
<type>checkings</type>
<number>316614-10</number>
</account>
<dateTo>Monday, March 11, 2002 </dateTo>
<dateFrom>Monday, February 25, 2002 </dateFrom>
</accountHistoryContext>
</AccountHistory>

  图6 时序图显示怎样找到类AccountHistory并调用其toXML()方法。

  图7在线银行请求历史帐务的页面。帐号和日期显示在该页面上;列表4用XML封装该显示信息。

  列表4 XML封装的历史帐务请求信息

<?xml version="1.0" encoding="ISO-8859-1"?>
<AccountHistoryContext>
<account>
<holder>Paulo Caroli</holder>
<type>checkings</type>
<number>316614-10</number>
</account>
<dateTo>Monday, March 11, 2002 </dateTo>
<dateFrom>Monday, February 25, 2002 </dateFrom>
</AccountHistoryContext>

  AccountHistoryContext类的FromXML()方法将传来的XML文件转换成相应的AccountHistoryContext类对象。

  就是这么简单,根本不用复杂的代码,就可以实现从JavaBean到XML文件的相互转换。程序开发人员使用BeanXMLMapping组件就可以不用关心底层的与XML相关的类库。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章