【发布时间】:2012-03-18 15:12:43
【问题描述】:
public static void main(String[] args) throws IOException, URISyntaxException,TransformerException {
TransformerFactory factory = TransformerFactory.newInstance();
String workingDir = System.getProperty("user.dir");
Source xslt = new StreamSource(new File(workingDir+"/src/jaxp/mysqldump_xml_to_sql.xsl"));
Transformer transformer = factory.newTransformer(xslt);
Source text = new StreamSource(new File(workingDir + "/src/jaxp/words.xml"));
transformer.transform(text, new StreamResult(new File("output2.sql")));
}
当我运行这个程序时,我收到了这个错误:
**Exception in thread "main" java.lang.StackOverflowError
at mysqldump_xml_to_sql.escape$dash$quotes()
at mysqldump_xml_to_sql.escape$dash$quotes()**
我用这个命令设置堆栈和堆大小:
java -Xss120m -Xms120m -Xmx500m
但我再次收到该错误。
这是我的样式表 [1]http://mysqldump-x-restore.googlecode.com/files/mysqldump-xml-to-sql.xslt 我的 xml 文件是 mysqldump -x -uroot -pxxxx databasename tablename > test.xml 命令的结果 并且 myxml 文件有 & >
【问题讨论】:
-
XSLT 中有很多递归? (你没有显示)
-
这个问题实际上没有 XSLT。请编辑它并提供一个完整的(但很小的)XML 文档和一个完整的 XSLT 样式表,当在提供的 XML 文档上运行时会重现错误。如果人们可以运行转换并重现错误,他们中的许多人将能够提供帮助。在这种情况下,主要嫌疑人是无限递归。
-
您已经提出了 12 个问题但没有接受任何答案?请返回您的问题并接受一些问题。
-
[1] Jim Garrison 我不知道你说对不起。
标签: java xslt xml-parsing