使用javax.xml.transform.Transformer,將xml用xls格式化為另一種xml
輸入為xml字符串,輸出也為xml字符串,代碼模板如下:
Java代碼
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
|
//這里使用xml-apis.jar實(shí)現(xiàn)javax.xml.transform.Transformer import javax.xml.transform.Transformer; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; public class TransformXmlByXls{ private Transformer transformer; public String handleXml(){ String sourceXml= "..." ; StringWriter sw = new StringWriter(); InputStream in= new ByteArrayInputStream(sourceXml .getBytes( "UTF-8" )); transformerXslImpl(..., "UTF-8" ); transformer.transform(in, sw); String targetXml = sw.toString(); return targetXml; } private transformerXslImpl(File xslTemplateFile, String encoding) throws Exception { initTransformerFactory(); transformer = getXslTransformerTemplate(xslTemplateFile); transformer.setOutputProperty(OutputKeys.ENCODING, encoding); } private Transformer getXslTransformerTemplate(File xslFile) throws TransformerFactoryConfigurationError, TransformerConfigurationException { TransformerFactory tFactory = TransformerFactory.newInstance(); Templates translet = tFactory.newTemplates( new StreamSource(xslFile)); return translet.newTransformer(); } } |
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://forrest420.iteye.com/blog/1186979