正 文

实现xml信息到Java Bean的转化


www.7dspace.com  更新日期:2005-8-31 11:24:51  七度空间


  本文主要是关于使用commons-betwixt组件实现xml信息到Java Bean的转化的一些感受,实现这一功能的核心类是BeanReader,如果你看过betwixt的源代码,你会发现

public class BeanReader extends Digester{}

      如果你细看一下BeanReader的源代码,betwixt在处理xml-->JavaBean转化时其实是调用Digester这个类的parse方法。但除了此方式可以实现转化的功能以外,BeanReader自身也有一些新的机制对xml进行转化,完善了Digester的很多欠缺功能,让转化更加方便。

  首先,来看一下BeanReader完全使用Digester的parse方法进行转化的流程。(其实觉得说是Digester怎样处理转化更为恰当)

  1。xml信息

<address-book>
  <person id="1" category="acquaintance" try="would be ignored">
    <name>Gonzo</name>
    <email type="business">gonzo@muppets.com</email>
    <gender result="the whole tag would be ignored">male</gender>
  </person>
  <person id="2" category="rolemodel">
    <name>Kermit</name>
    <email type="business">kermit@muppets.com</email>
    <email type="home">kermie@acme.com</email>
  </person>
</address-book>

  2。定义实体对象Person和AddressBook

import java.util.HashMap;
import java.util.Iterator;
public class Person {
 private int id;
   private String category;
   private String name;
   private HashMap emails = new HashMap();
     
   /**
    * A unique id for this person. Note that the Digester automatically
    * converts the id to an integer.
    */
   public void setId(int id) {
       this.id = id;
   }
  
   public void setCategory(String category) {
       this.category = category;
   }
  
   public void setName(String name) {
       this.name = name;
   }
  
   /** we assume only one email of each type... */
   public void addEmail(String type, String address) {
       emails.put(type, address);
   }
  
 
   public void print() {
       System.out.println("Person #" + id);
       System.out.println("  category=" + category);
       System.out.println("  name=" + name);
      
       for(Iterator i = emails.keySet().iterator(); i.hasNext(); ) {
           String type = (String) i.next();
           String address = (String) emails.get(type);
          
           System.out.println("  email (type " + type + ") : " + address);
       }
      
   }
4页,当前在第1页  1  2  3  4  

上一篇:用 Eclipse 进行 XML 开发
下一篇:web服务攻击痕迹
作者:  来源:blog.csdn.net ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐