转换java类到xml文档的学习-从终点到起点-JavaEye技术网站

更新时间:2023-06-15 14:55:26 阅读: 评论:0

转换java类到xml文档的学习-从终点到起点-JavaEye技术网站
转换 java 类到 xml 文档的学习
apache 的 betwixt 组件可以实现 java 类到 xml 文档的转换,但有一定的局限性,如果需要一个写下面这个类的理由的话,“尽其能则用”吧!
(1) IBeanToXml.java 接口。
Java代码
1.佛山暑假英语培训package com.flysoft.fu4j.support.xbean;   
2.
3./**  
4.* IBeanToXml 接口实现将任意对象转换为数据岛或XML的方法。  
5.* flysoft company.  
6.* @author Dingli.  
7.* 2008 Apr 22, 2008 5:56:26 PM  
8.*/ 
9.public interface IBeanToXml   
10.{   
11./**  
12.* 将一个类解析成 XML 格式。  
13.* @param object 要进行解析的类。  
14.* @param encoding 使用的字符集。  
15.* @return 返回解析后的 XML 字符串。  
16.*/ 
17.public String parBeanToXml(Object object, String encoding);   
18.
19./**  
20.* 将一个类解析成数据岛格式。  
21.* @param id 数据岛的ID。  
22.* @param object 要解析的对象。  
23.* @param encoding 使用的字符集。  
24.* @return 返回解析后的数据岛字符串。  
25.*/ 
26.public String parBeanToDataIsland(String id, Object object, String encoding);   
27.
package com.flysoft.fu4j.support.xbean;
/**
* IBeanToXml 接口实现将任意对象转换为数据岛或XML的方法。
* flysoft company.
* @author Dingli.
* 2008 Apr 22, 2008 5:56:26 PM
*/
public interface IBeanToXml
{
/**
* 将一个类解析成 XML 格式。
* @param object 要进行解析的类。
* @param encoding 使用的字符集。
* @return 返回解析后的 XML 字符串。
*/
public String parBeanToXml(Object object, String encoding);
/**
* 将一个类解析成数据岛格式。
* @param id 数据岛的ID。
* @param object 要解析的对象。
* @param encoding 使用的字符集。
* @return 返回解析后的数据岛字符串。
*/
public String parBeanToDataIsland(String id, Object object, String encoding);
}
(2) BeanToXmlParr.java 类。
Java代码
1.package com.flysoft.fu4j.support.xbean;   
2.
3.import flect.Field;   
4.import flect.Method;   
5.import flect.Modifier;   
6.import java.math.BigDecimal;   
7.import java.math.BigInteger;   
8.import&SimpleDateFormat;   
9.import java.util.Collection;   
10.import java.util.Date;   
11.import java.util.Iterator;   
12.import java.util.Map;   
13.import s.logging.Log;   
14.import s.logging.LogFactory;   
15.import org.dom4j.Document;   
16.import org.dom4j.DocumentFactory;   
17.import org.dom4j.Element;   
18.
19./**  
20.* BeanToXmlParr 类实现将任意对象转换为数据岛或XML,但对象不能循环引用自身。  
2020年研究生国家分数线21.* flysoft company.  
22.* @author Dingli.  
23.* 2008 Apr 22, 2008 5:41:07 PM  
24.*/toronto是什么意思 
25.public class BeanToXmlParr implements IBeanToXml   
26.{   
27.//log4j日志记录器。  
28.private static final Log logger =&Log(BeanToXmlParr.class);   
29.//简单日期格式化对象。  
30.private static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");   
31.
ss是什么意思
32./**  
33.* 构建默认的 BeanToXmlParr 对象。  
34.*/ 
35.public BeanToXmlParr()   
36.{}   
37.
38./*  
39.* (non-Javadoc)  
40.* @e com.flysoft.fu4j.support.xbean.IBeanToXml#parBeanToXml(java.lang.Object, java.lang.String)  
41.*/ 
42.public String parBeanToXml(Object object, String encoding)   
43.{   
44.yomatry 
45.{   
46.//应为递归可能很消耗资源,先进行垃圾回收。  
47.();   
48.//传入的对象必须不能为空。  
49.if(object != null)   
50.{   
51.元宵节英语//获取传入对象的全类名。  
52.String classPath =&Class().getName();   
53.//获取传入对象的类名。  
54.String className = classPath.substring(classPath.lastIndexOf(".") + 1);   
55.//构建文档工厂类对象。  
56.DocumentFactory documentFactory =&Instance();   
57.//构建文档类对象。  
58.Document document =&UpperCa());   
59.//添加根节点。  
60.document.addElement(className);   
61.//获取文档根节点。  
62.southeastElement rootNode =&RootElement();   
63.//添加根元素的 "class" 属性。  
64.rootNode.addAttribute("class", classPath);   
65.//插入根元素。  
joah
66.inrtElement(rootNode,&LowerCa(), object);   
67.//返回表示该文档的 XML 字符串。  
68.return document.asXML();   
车挂
69.}   
70.el 
71.{   
72.return null;   
73.}   
74.}   
75.catch(Exception ex)   
76.{   
77.("Par object to xml string fail", ex);   
78.return null;   
79.}   
80.}   
81.
82./*  
83.* (non-Javadoc)  
84.* @e com.flysoft.fu4j.support.xbean.IBeanToXml#parBeanToDataIsland(java.lang.String, java.lang.Object, java.lang.String)  
85.*/ 
86.public String parBeanToDataIsland(String id, Object object, String encoding)   
87.{   
88.StringBuffer stringBuffer = new StringBuffer();   
89.stringBuffer.append("<xml id=\"{id}\">");   
90.stringBuffer.append(parBeanToXml(object, encoding));   
91.stringBuffer.append("</xml>");   
92.return&String().replaceAll("[{]id[}]", id);   
93.}   
94.
95./**  
96.* 插入节点到父节点元素。  
97.* @param parentNode 父节点元素。  
98.* @param nodeName 要插入的节点名。  
99.* @param object 要插入的节点对象。  
100.*/ 
2015年12月四级答案
101.private void inrtElement(Element parentNode, String nodeName, Object object)   
102.{   
103.//如果传入的对象为空,则转换为空字符串。  
104.object = (object == null)? "": object;   
105.//父元素节点和传入的对象均不能为空。  
106.if(parentNode != null)   

本文发布于:2023-06-15 14:55:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/146020.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:对象   数据   文档
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图