JAXP 全部内容,第 2 部分:使用 Sun 的 XML 处理工具包来转换 XML
2010-04-06 00:00:00 来源:WEB开发网javax.xml.transform.dom.DOMSource 将 DOM Node(及其孩子)传递给 JAXP。
javax.xml.transform.sax.SAXSource 将 SAX 回调结果(来自 XMLReader)传递给 JAXP。
javax.xml.transform.stream.StreamSource 将包装在 File、InputStream 或 Reader 中的 XML 传递给 JAXP。
清单 1 展示了几种用于创建转换中使用的 Source 的方法:
清单 1. 使用 Source 接口的实现
// Create a Source from a file on disk
Source fileSource =
new StreamSource(new File("phonebook.xml"));
// Create a Source from a DOM tree
Document myDomDocument = getDocument();
Source domSource = new DOMSource(myDomDocument);
// Create a Source from an InputStream
BufferedInputStream bis =
new BufferedInputStream(getInputStream());
Source streamSource = new StreamSource(bis);
// Create a Source from a reader and SAX InputSource
XMLReader myXMLReader = getXMLReader();
InputSource myInputSource = getInputSource();
Source saxSource = new SAXSource(myXMLReader, myInputSource);
清单 1 几乎是自解释的。一旦获得 Source,就可以将 XML 输入 JAXP 的 XSL 处理部分。
输出结果
在讲述转换本身之前,将简单介绍一下 Source 的输出对应物——javax.xml.transform.Result。它甚至具有与 Source 相同的两个基本方法——getSystemId() 和 setSystemId(String systemId)。
更多精彩
赞助商链接