我正在使用SAX处理程序创建XML文件。我的代码需要将近30000条记录作为子节点插入到XML文档中。我的问题是XML构建突然停止而不在XML文件中创建子节点。我们也没有在日志中获得任何例外。创建XML文档时是否存在SAX处理程序的缓冲区限制
代码:
SAXTransformerFactory transformerFactory = SAXTransformerFactory.newInstance();
TransformerHandler handler = transformerFactory.newTransformerHandler();
Transformer transformer = handler.getTransformer();
handler.setResult(streamResult);
handler.startDocument();
buildXML方法
XMLUtil.setStartElement(handler,"abcd");
XMLUtil.setCharacters(handler,"value");
XMLUtil.setEndElement(handler,"abcd");
XMLUtil Class
setCharacters(TransformerHandler hd,String value){
if(value !=null){
hd.characters(value.toCharArray,0,value.getBytes().length)
}
}
setEndElement(TransformerHandler hd,String value){
hd.endElement("","",value,null);
}
setEStartElement(TransformerHandler hd,String value){
hd.startElement("","",value);
}
请检查代码。
生成的xml:
<abcd>value1</abcd>
<abcd>value2</
PS:每次都不会发生这种情况。我们甚至没有在日志中获得任何例外