Java使用XSL将XML转换为HTML

时间:2016-02-29 09:49:02

标签: java xml xslt

我使用JAXB创建了一个非常复杂的.xml文件,我保存在驱动器上。我还手动制作了一个.xsl文件,这是我的模板。

我现在如何以编程方式使用上述两个来创建html输出文件?

我尝试了各种各样的事情,也许我只是累了,但我甚至无法将.xml文件成功打开到Document

有人有一个有效的例子吗?我将不胜感激!谢谢:))

我尝试了各种各样的东西,包括官方代码示例,但我找不到一个有效的例子。只有空指针异常。 :(

2 个答案:

答案 0 :(得分:4)

我能给你的最小的工作例子:

import java.io.File;

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

public class UseXMLToHTML {

    public static void main(String[] args) throws TransformerException {
        StreamResult result = new StreamResult(new File("output.html"));
        StreamSource source = new StreamSource(new File("input.xml"));
        StreamSource xslt = new StreamSource(new File("transform.xslt"));

        Transformer transformer = TransformerFactory.newInstance().newTransformer(xslt);

        transformer.transform(source, result);
    }
}

答案 1 :(得分:2)

这可能会成功;

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

考虑尝试这些网址中的内容:

http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog

http://www.w3schools.com/xsl/tryxslt_result.asp?xmlfile=cdcatalog&xsltfile=cdcatalog