使用到的第三方包: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;????} |