如果我猜对了,您的代码没有正确引用 XSL 文件。您需要验证您在代码中是否正确引用了 XML 和 XSLT 文件。
或者发布调用转换的 Java 代码(可能是 5 行代码(最大))。您如何引用 XML 和 XSL 源代码在这里很重要..
我发布示例代码供您参考:
这里的 input.xml 和 input.xsl 是位于 bin 文件夹中的文件。.project
(或者如果您从 Eclipse IDE 运行它,则在与文件相同的位置)
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(new File("input.xslt")));
Source text = new StreamSource(new File("input.xml"));
transformer.transform(text, new StreamResult(new File("output.xml")));
示例代码 2:(这里 XSL 代码作为字符串传递)
TransformerFactory factory = TransformerFactory.newInstance();
String sxslt = "<?xml version=\"1.0\"?><xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"> <xsl:output indent=\"no\" /> <xsl:template match=\"@*|node()\"> <xsl:copy> <xsl:apply-templates select=\"@*|node()\"/> </xsl:copy> </xsl:template></xsl:stylesheet>";
StringReader xslReader = new StringReader(sxslt);
Source xslt = new StreamSource(xslReader);
Transformer transformer = factory.newTransformer(xslt);
Source text = new StreamSource(new File("input.xml"));
transformer.transform(text, new StreamResult(new File("output.xml")));