JAXP 全部内容,第 2 部分:使用 Sun 的 XML 处理工具包来转换 XML
2010-04-06 00:00:00 来源:WEB开发网此处没有太多值得注意的地方;惟一需要确保具有的就是 Transformer 与特定样式表之间的连接。因为样式表用于创建 Transformer,这是惟一可以用于该实例的 XSL。如果想要使用不同的样式表执行附加转换,可以重用 TransformerFactory,但必须创建不同的 Transformer 实例,以与新样式表连接。
执行转换
一切就绪之后,只需要一行代码来执行转换。清单 5 展示了如何使用 transform() 方法。只需为它提供输入 XML 和输出接收器;样式表已经连接到要使用的 Transformer 实例上:
清单 5. 使用 transform() 方法
try {
// Set up input documents
Source inputXML = new StreamSource(
new File("phonebook.xml"));
Source inputXSL = new StreamSource(
new File("phonebook.xsl"));
// Set up output sink
Result outputXHTML = new StreamResult(
new File("output.html"));
// Setup a factory for transforms
TransformerFactory factory = TransformerFactory.newInstance();
// Get a transformer for this XSL
Transformer transformer = factory.newTransformer(inputXSL);
// Perform the transformation
transformer.transform(inputXML, outputXHTML);
} catch (TransformerConfigurationException e) {
System.out.println("The underlying XSL processor " +
"does not support the requested features.");
} catch (TransformerException e) {
System.out.println("Error occurred obtaining " +
"XSL processor.");
}
更多精彩
赞助商链接