易截截图软件、单文件、免安装、纯绿色、仅160KB

SAX解析XML,为什么会报内存溢出?

用下面的SAX方式,解析一个450M的xml文件时,会报内存溢出?
为什么?Java code:

import java.io.File;
import java.io.FileInputStream;
import java.util.*;

import javax.xml.parsers.*;
import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;

public class SaxXml {
public SaxXml() {
}

public void readXML(String FileName) throws Exception{
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
MySAXHandler handler = new MySAXHandler();
sp.parse(new FileInputStream(new File(FileName)), handler);
}

class MySAXHandler extends DefaultHandler{
java.util.Stack tagStack = new java.util.Stack();

@SuppressWarnings("unchecked")
public void startElement(String namespace,String localName,String qName,Attributes atts){
tagStack.push(qName);
System.out.println("qName:"+qName);
}
public void endElement(String namespace,String localName,String qName){

}
public void characters(char[] chs,int start,int length){

}

}


public static void main(String[] args){
String name = "f:/data/AuditBizDataDataSet2.xml";
SaxXml q = new SaxXml();
try {
q.readXML(name);
} catch (Exception e) {
e.printStackTrace();
}
}
}





那我应该在


相关问答:

如何用ASP读取 XML - Web 开发 / ASP

<?xml version="1.0"?>
<root>
<status>433</status>
<msg>这个是汉字</msg>
<serialno>123</serialno>
</root>
如何用ASP读取 status值 ......

在这样一个xml文件里如何选择特点节点

<?xml version="1.0" encoding="UTF-8" ?> 
<root> 
<video> 
  <device deviceid="\\?\usb#vid_0c45&pid_613b#5&2d0620de& ......

[vc] 如何将XML字串插入到指定的Node

采用DOM 进行解析xml。要求将xml字串插入指定节点作为其子节点
比如: 
原xml 
<root>
</root>
要插入的xml字串
<a>test</a> 
目的xml:
<root>
<a> ......

XML转化为标准格式XML - Web 开发 / XML/SOAP

如何将一个XML文件转化为一种标准的格式化的XML文件结构
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
  <STU>
  <ROWNUM>1</ROWNUM>
&n ......

oracle导出数据到xml中 - Oracle / 基础和管理

现在我写了存储过程,把表里面的数据导出到xml中,现在的格式是:
<?xml version="1.0" encoding="GBK" ?> 
<PEOPLE>
<PERSON PERSONID="1">
  &l ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号