【问题标题】:XSLT processing with Xalan APi 2.7.1使用 Xalan APi 2.7.1 进行 XSLT 处理
【发布时间】:2013-10-28 14:37:59
【问题描述】:

我必须进行 xsl 转换,其中我将通过示例输入 xml 最终实现最终转换 xml,我已经使用转换器的 java api 编写了程序,请有人告诉我如何编写相同的它也适用于 xalan api 2.7.1,下面是带有 jaa 的代码,我需要将它与 xalan 兼容

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

【问题讨论】:

    标签: java xml xslt-1.0


    【解决方案1】:

    您需要为 Xalan 使用的 API 标准的 javax.xml.transform API,无需更改。如果 Xalan 在您的应用程序的类路径中,那么

    TransformerFactory.newInstance();
    

    将创建一个 Xalan 转换器,而不是使用 Java 内置实现(它本身就是 Xalan 的一个分支)。如果你想强制一个特定的转换器实现,那么使用两个参数的形式

    TransformerFactory.newInstance("org.apache.xalan.processor.TransformerFactoryImpl", null);
    

    【讨论】:

    • 非常感谢..!!您能否将我的示例转换为特定于 xalan 的示例,这将是一个很大的帮助,在此先感谢
    • @sonumkumar 就像我说的那样,没有什么可改变的——如果 Xalan 在您的应用程序的类路径中,那么您当前的代码将自动使用它。
    猜你喜欢
    • 2014-03-02
    • 1970-01-01
    • 2011-01-26
    • 2013-12-06
    • 2012-03-03
    • 1970-01-01
    • 2018-09-19
    • 2012-01-04
    • 1970-01-01
    相关资源
    最近更新 更多