转换java类到xml文档的学习-从终点到起点-JavaEye技术网站
转换 java 类到 xml 文档的学习
apache 的 betwixt 组件可以实现 java 类到 xml 文档的转换,但有一定的局限性,如果需要一个写下面这个类的理由的话,“尽其能则用”吧!
(1) IBeanToXml.java 接口。
Java代码
1.佛山暑假英语培训package com.flysoft.fu4j.support.xbean;
2.
3.
4.
5.
6.
7.
8.
9.public interface IBeanToXml
10.{
11.
12.
13.
14.
15.
16.
17.public String parBeanToXml(Object object, String encoding);
18.
19.
20.
21.
22.
23.
24.
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.
2020年研究生国家分数线21.
22.
23.
24.toronto是什么意思
25.public class BeanToXmlParr implements IBeanToXml
26.{
27.
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.
34.
35.public BeanToXmlParr()
36.{}
37.
38.
39.
40.
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.
64.rootNode.addAttribute("class", classPath);
65.
joah
66.inrtElement(rootNode,&LowerCa(), object);
67.
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.
84.
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.
98.
99.
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)