首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Java 8在命令行上应用XSL转换?

如何使用Java 8在命令行上应用XSL转换?
EN

Stack Overflow用户
提问于 2016-11-09 23:39:23
回答 1查看 378关注 0票数 0

我已经使用所描述的here在命令行上成功地应用了XSL转换,但是这个示例似乎只适用于Java6或更早的版本。我一直看到一些示例告诉我应该使用com.sun.org.apache.xalan.internal.xslt.Process作为cli,但当我尝试时,得到的结果却是:Error: Main method not found in class com.sun.org.apache.xalan.internal.xslt.Process

在Java 8中,有没有一种方法可以在命令行上应用XSL转换,或者他们只是简单地删除了它?

我在一个隔空的环境中工作,所以任何涉及下载任何东西的解决方案都不会起作用。我只能访问JDK和JRE。

EN

回答 1

Stack Overflow用户

发布于 2016-11-17 08:21:03

这是一种与您提到的方法不同的方法。除非出于某种原因被迫将XSLT预编译为Java类,否则也可以使用此方法。这种方法的好处是您的代码对于不同的JAXP XSLT实现是不可知的。

在加载XSLT并将其应用到XML文件的java代码中尝试执行以下操作。

代码语言:javascript
运行
复制
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer(xsltAsDomSource);
transformer.transform(inputXmlSource, outputXmlResult);

像往常一样,将其作为jar或CLI中的类运行。JDK8将使用预打包的默认XSLT处理器,您只需说:

代码语言:javascript
运行
复制
java -jar yourJarName.jar

但是,如果您希望使用特定的XSLT处理器进行更多的控制,可以使用"javax.xml.transform.TransformerFactory“参数指定您选择的实现类。请阅读JDK8 TransformerFactory API Doc以更好地理解。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40510748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档