我使用JAXB
创建了一个非常复杂的.xml文件,我保存在驱动器上。我还手动制作了一个.xsl文件,这是我的模板。
我现在如何以编程方式使用上述两个来创建html输出文件?
我尝试了各种各样的事情,也许我只是累了,但我甚至无法将.xml文件成功打开到Document
。
有人有一个有效的例子吗?我将不胜感激!谢谢:))
我尝试了各种各样的东西,包括官方代码示例,但我找不到一个有效的例子。只有空指针异常。 :(
答案 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