我刚刚读到,一个内部XML数据(例如<name>John Smith</name>)可以多次调用characters(char[] ch, int start, int length)。
在我的项目中,我必须解析大的XML文件(1.5 GB)并将其放入数据库中,因此我不能仅手动检查数据库和文件以查看是否一切正常。所以我的问题是,这样做安全吗:
public void characters(char[] ch, int start, int length) throws SAXException {
dataForDatabase = new String(ch,start,length);
}其中dataForDatabase是这个解析器的类成员。
在那之后在endElement..。
public void endElement(String uri, String localName, String qname) throws SAXException {
putDataToDatabase(dataForDatabase);
}如果characters()方法被多次调用,dataForDatabase不会被覆盖吗?
提前感谢!
发布于 2014-11-07 18:10:54
是,它将被覆盖。您应该使用字符串生成器并附加字符。在startElement中初始化字符串生成器。在endElement中,您确实可以将其存储到数据库中。
https://stackoverflow.com/questions/26798718
复制相似问题