JAXP 全部内容,第 2 部分:使用 Sun 的 XML 处理工具包来转换 XML
2010-04-06 00:00:00 来源:WEB开发网与其输入对应物一样,一般使用 JAXP 的具体 Result 实现:
javax.xml.transform.dom.DOMResult 将转换后的内容传递到 DOM Node 中。
javax.xml.transform.sax.SAXResult 将转换的结果传递到 SAX ContentHandler 中。
javax.xml.transform.stream.StreamResult 将转换后的 *ML 传递到 File、OutputStream 或 Writer 中。
清单 2 展示了一些简单的例子,与 清单 1 中 Source 的例子十分相似:
清单 2. 使用 Result 接口的实现
// Write to a file on disk
Result fileResult =
new StreamResult(new File("output.xml"));
// Write a Result to a DOM tree (inserted into the supplied Document)
Document myDomDocument = getDocument();
Result domResult = new DOMResult(myDomDocument);
// Create a Result from an OutputStream
BufferedOutputStream bos =
new BufferedOutputStream(getOutputStream());
Result streamResult = new StreamResult(bos);
// Create a Result to write to a SAX ContentHandler
ContentHandler myContentHandler = new MyContentHandler();
Result saxResult = new SAXResult(myContentHandler);
一旦理解了 Source 和 Result 接口以及与 JAXP 绑定在一起的实现之后,就差不多已经掌握了 XML 转换。
使用 JAXP 执行转换
如果阅读 第 1 部分 距今有一段时间了,或者谈到 JAXP 和解析时仍有些生疏,就应该花时间回顾一下 SAXParserFactory 和 DOMBuilderFactory 类。您将发现,如果知道如何使用这些类,就已经能够完全理解 JAXP 转换如何工作了。
更多精彩
赞助商链接