Java:将StreamResult转换为DOM [英] Java: convert StreamResult to DOM

查看:91
本文介绍了Java:将StreamResult转换为DOM的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在将结果xml转换为Java DOM以进一步使用它之后,我正在用saxon和xslt执行从一种xml格式到另一种xml格式的xslt转换:

I am performing a xslt transformation from one xml format to another with saxon and xslt, after what transforming the result xml into Java DOM to work with it further:

System.setProperty("javax.xml.transform.TransformerFactory", "net.sf.saxon.TransformerFactoryImpl");
TransformerFactory tFactory = TransformerFactory.newInstance();

Transformer transformer = tFactory.newTransformer(new StreamSource(new File("xslt.xsl")));
transformer.transform(new StreamSource(new File(inputXML)),
                                  new StreamResult(new File (outputXML)));

DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = documentBuilder.parse(outputXML);

在这种情况下,我不喜欢创建中间 outputXML 文件。有可能避免其产生吗?

What I don't like in this situation, is creating intermediate outputXML file. Is it possible to avoid its creating?

推荐答案

答案由@Andreas提供。如果有人感兴趣,在我的情况下,结果代码片段如下所示:

The answer was provided by @Andreas. If someone is interested, the result code snippet in my case looked like this:

System.setProperty("javax.xml.transform.TransformerFactory", "net.sf.saxon.TransformerFactoryImpl");
TransformerFactory tFactory = TransformerFactory.newInstance();

DOMResult xmlResult = new DOMResult();
Transformer transformer = tFactory.newTransformer(new StreamSource(new File("xslt.xsl")));
        transformer.transform(new StreamSource(new File(outputXML)),
                              xmlResult);

Document document = (Document) xmlResult.getNode();

这篇关于Java:将StreamResult转换为DOM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆