WEB开发网
开发学院软件开发Java JAXP 全部内容,第 2 部分:使用 Sun 的 XML 处理... 阅读

JAXP 全部内容,第 2 部分:使用 Sun 的 XML 处理工具包来转换 XML

 2010-04-06 00:00:00 来源:WEB开发网   
核心提示: 获得工厂转换如此简单,以至于有点微不足道,JAXP 全部内容,第 2 部分:使用 Sun 的 XML 处理工具包来转换 XML(6),首先,需要设置输入和输出接收器,您以一种格式提供 XML 作为 Source,然后以另一种格式将其推出作为 Result,将 Source 包装在输入 XML 文

获得工厂

转换如此简单,以至于有点微不足道。首先,需要设置输入和输出接收器。将 Source 包装在输入 XML 文档和 XSL 样式表中。然后,创建一个接收器,以写入转换后的结果——然后将其包装在 Result 中。

其次,需要使用静态 newInstance() 方法创建 TransformerFactory。清单 3 展示了所有详细信息:

清单 3. 创建新 TransformerFactory 实例

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(); 
} 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."); 
} 

这一步没有太多内容。异常处理与代码本身所用时间一样多。对于 SAX 和 DOM 工厂类,一个异常处理已请求的但不受支持的特性,另一个异常处理实例化错误。

恒等转换

TransformerFactory.newTransformer() 的一个版本不接受任何参数(因此无 XSL 样式表)。这允许您执行恒等转换,它简单地将输入 XML 从一种形式(比如流)转换为另一种形式(比如 DOM 树)。您以一种格式提供 XML 作为 Source,然后以另一种格式将其推出作为 Result。应该记住这个有用的技巧。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:JAXP 全部

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接