在创建xml

时间:2017-07-31 07:26:34

标签: java xml sax saxparser

我正在使用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:每次都不会发生这种情况。我们甚至没有在日志中获得任何例外

0 个答案:

没有答案