使用 Java 进行 XSLT 处理?
如何使用JDK在Java中使用XSLT处理器转换XML?
以下是使用java api进行transformer的示例,如@Raedwald所说:
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
public class TestMain {
public static void main(String[] args) throws IOException, URISyntaxException, TransformerException {
TransformerFactory factory = TransformerFactory.newInstance();
Source xslt = new StreamSource(new File("transform.xslt"));
Transformer transformer = factory.newTransformer(xslt);
Source text = new StreamSource(new File("input.xml"));
transformer.transform(text, new StreamResult(new File("output.xml")));
}
}
输入也可以来自字符串或 DOMSource,输出可以是 DOMSource 等。
我是 xslt 的新手。任何人都可以指导我如何使用java进行xslt处理?
这取决于您使用的是基于 Java 的 XSLT 处理器。每个 XSLT 处理器都有自己的 API。
例如,Saxon 6.5.5(对于 XSLT 1.0)和 Saxon 9.1.07(对于 XSLT 2.0)是用 Java 编写的。文档已 http://www.saxonica.com/documentation/documentation.xml
几乎所有 XSLT 处理器都有一个命令行实用工具,该实用工具不需要编写程序即可执行 XSLT 转换。
例如,这里是:如何从命令行启动 Saxon 9.x 转换。
以下是我总是从命令行使用 Saxon 的方式:
java -Xms2048M -Xmx10000M -jar
C:\xml\Parsers\Saxon\Ver.9.1.0.7\J\saxon9.jar
-t -repeat:1 -o %out% %xml% %xsl% %param[ name=\"value\"]%
其中 是输出文件的名称,是 xml 文件,是主 xslt 文件,并且是外部参数的名称-值列表(我几乎总是将其留空)。%out%
%xml%
%xsl%
%param[ name=\"value\"]%