我编写了在打印之前将文档转换为字符串的代码
TransformerFactory tf = TransformerFactory.newInstance();
Transformer trans = tf.newTransformer();
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
trans.setOutputProperty(OutputKeys.INDENT, "yes");
//create string from xml tree
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
trans.transform(source, result);
xmlString = sw.toString();
这在独立程序中完美运行。我已将此代码直接剪切并粘贴到在 jakarta-tomcat-5.0.28 (JDK 1.5) 下运行的模块中,并且它在 TransformerFactory.newInstance() 之前停止。我需要告诉 jakarta 下的 jvm 在哪里可以找到合适的类吗?顺便说一句,调用永远不会返回,它只是停止而没有响应。
最佳答案
你得到了什么错误?听起来您的类路径上需要有一个 Java XML 库,如果您在 Java 6 下运行,则有 JAXP TransformerFactory默认情况下,您的类路径中,否则您需要将 Xalan/SAX 等添加到您的类路径中。
关于java - TransformerFactory.newInstance() 停止了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3514507/