是否有组件或者好办法 xml 转换成 JavaBean

是否有组件或者好办法 xml 转换成 JavaBean ? 比较复杂的xml?

自己转吧! 别人下的 不一定适合自己的 需求和情况!
自己动手丰衣足食!

http://www.cnblogs.com/sunsonbaby/archive/2004/12/17/78623.html

[code="java"]import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import com.wutka.jox.JOXBeanInputStream;

import com.wutka.jox.JOXBeanOutputStream;

public class BeanXMLMapping {

/** *//**  
 *  Retrieves a bean object for the  
 *  received XML and matching bean class  
 */  
public static Object fromXML(String xml, Class className) {   
  ByteArrayInputStream xmlData = new ByteArrayInputStream(xml.getBytes());   
  JOXBeanInputStream joxIn = new JOXBeanInputStream(xmlData);   
  try {   
    return (Object) joxIn.readObject(className);   
  } catch (IOException exc) {   
    exc.printStackTrace();   
    return null;   
  } finally {   
    try {   
      xmlData.close();   
      joxIn.close();   
    } catch (Exception e) {   
      e.printStackTrace();   
    }   
  }   
}   

/** *//**  
 *  Returns an XML document.nbspString for the received bean  
 */  
public static String toXML(Object bean) {   
  ByteArrayOutputStream xmlData = new ByteArrayOutputStream();   
  JOXBeanOutputStream joxOut = new JOXBeanOutputStream(xmlData);   
  try {   
    joxOut.writeObject(beanName(bean), bean);   
    return xmlData.toString();   
  } catch (IOException exc) {   
    exc.printStackTrace();   
    return null;   
  } finally {   
    try {   
      xmlData.close();   
      joxOut.close();   
    } catch (Exception e) {   
      e.printStackTrace();   
    }   
  }   
}   

/** *//**  
 *  Find out the bean class name  
 */  
private static String beanName(Object bean) {   
  String fullClassName = bean.getClass().getName();   
  String classNameTemp = fullClassName.substring(   
      fullClassName.lastIndexOf(".") + 1,   
      fullClassName.length()   
      );   
  return classNameTemp.substring(0, 1)   
       + classNameTemp.substring(1);   
}   
public static void main(String[] args) {   
    String content = "<WebAppPolicy lcid=\"1033\"><WebAppPolicyZones><WebAppPolicyZone zonename=\"(All zones)\"/>"  
                   + "<WebAppPolicyZone zonename=\"Default\"/></WebAppPolicyZones></WebAppPolicy>";   

// System.out.println(content);

Object obj = fromXML(content, WebAppPolicy.class);

WebAppPolicy web = (WebAppPolicy) obj;

System.out.println(web.getLcid());

System.out.println(((WebAppPolicy)obj).getLcid());

System.out.println(((WebAppPolicy)obj).getWebAppPolicyZones().getWebAppPolicyZone()[0].getZonename());

System.out.println(((WebAppPolicy)obj).getWebAppPolicyZones().getWebAppPolicyZone()[1].getZonename());

}

} [/code]

http://dev.firnow.com/course/4_webprogram/xml/xml_js/200863/121326.html 这个也挺好的

使用xstream很简单啊。

这个博客[url]http://lavasoft.blog.51cto.com/62575/65360[/url]看看,就几句话!

用Castor引擎:运用Castor引擎实现XML结构的字符串->JavaBean的映射
可以参考我的文章
http://lerous.iteye.com/blog/250335