将javabean转换成xml

使用到的第三方包:org.apache.commons.betwixt

代码片段如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import org.apache.commons.betwixt.io.BeanReader;
import org.apache.commons.betwixt.io.BeanWriter;
/**
?????* 将javaBean 转成XML文件
?????*
?????* @param bean
?????* javaBean对象
?????* @return XML文件
?????*/
????public static File convertBean2XML(Object bean)
????{
????????File file = new File(FjhlUtils.generateFileName(Consts.XML_FILE_SUFFIX));
????????// FileWriter fw;
????????BeanWriter beanWriter = null;
????????OutputStreamWriter fw;
????????try
????????{
????????????fw = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
????????????beanWriter = new BeanWriter(fw);
????????????beanWriter.getXMLIntrospector().getConfiguration()
????????????????????.setAttributesForPrimitives(false);
????????????beanWriter.getBindingConfiguration().setMapIDs(false);
????????????beanWriter.setEndOfLine("\n");
????????????beanWriter.enablePrettyPrint();
????????????beanWriter.setWriteEmptyElements(true);
????????????beanWriter.setEndTagForEmptyElement(true);
????????????beanWriter.writeXmlDeclaration(Consts.XML_TITLE);
????????????beanWriter.write(bean);
????????????beanWriter.flush();
????????}
????????catch (IOException e)
????????{
????????????LOG.error("将javaBean 转成XML文件时发生IO异常", e);
????????}
????????catch (SAXException e)
????????{
????????????LOG.error("将javaBean 转成XML文件时发生SAX解析异常", e);
????????}
????????catch (IntrospectionException e)
????????{
????????????LOG.error("将javaBean 转成XML文件时发生内省异常", e);
????????}
????????finally
????????{
????????????try
????????????{
????????????????if (beanWriter != null)
????????????????{
????????????????????beanWriter.close();
????????????????????beanWriter = null;
????????????????}
????????????}
????????????catch (IOException e)
????????????{
????????????????LOG.error("转成XML文件时,关闭beanWriter失败",e);
????????????}
????????}
????????return file;
????}
??
??
?/**
?????* 将XML文件转成javaBean
?????*
?????* @param xmlFile
?????* XML文件
?????* @param clazz
?????* 生成javaBean Class对象
?????* @return Object javaBean对象
?????*/
????public static Object convertXML2Bean(File xmlFile, Class<?> clazz)
????{
????????Object bean = null;
????????BeanReader beanReader = new BeanReader();
????????beanReader.getXMLIntrospector().getConfiguration()
????????????????.setAttributesForPrimitives(false);
????????beanReader.getBindingConfiguration().setMapIDs(false);
????????try
????????{
????????????beanReader.registerBeanClass(clazz);
????????????bean = beanReader.parse(xmlFile);
????????}
????????catch (IntrospectionException e)
????????{
????????????LOG.error("将XML文件转成javaBean时发生内省异常", e);
????????}
????????catch (IOException e)
????????{
????????????LOG.error("将XML文件转成javaBean时发生IO异常", e);
????????}
????????catch (SAXException e)
????????{
????????????LOG.error("将XML文件转成javaBean时发生SAX解析异常", e);
????????}
????????return bean;
????}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据