相关疑难解决方法(0)

使用Java拆分1GB Xml文件

我有一个1GB的Xml文件,如何使用Java将其拆分为格式正确的小型Xml文件?

这是一个例子:

<records>
  <record id="001">
    <name>john</name>
  </record>
 ....
</records>
Run Code Online (Sandbox Code Playgroud)

谢谢.

java xml

12
推荐指数
1
解决办法
2万
查看次数

Java:SAX解析一个巨大的XML文件

我有一个35 GB的XML文件(是的,一些组织这样做,我无法控制它),我想SAX解析.我在这里找到了一个例子:

http://www.java2s.com/Code/Java/XML/SAXDemo.htm

如何运行SAX解析器并避免加载所有内容.但是,我立刻得到了一个内存不足的错误.为什么会发生这种情况以及如何使此代码完全可扩展到任何XML文件大小?

这是我的代码:

import org.apache.log4j.Logger;
import org.xml.sax.AttributeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParserFactory;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class XMLSAXTools extends org.xml.sax.helpers.DefaultHandler {

/**
 * Logging facility
 */
static Logger logger = Logger.getLogger(XMLSAXTools.class);

private String fileName = "C:/Data/hugefile.xml";
private int counter = 0;

/** The main method sets things up for parsing */
public void test() throws IOException, SAXException,
        ParserConfigurationException {
    // Create a JAXP "parser factory" for creating SAX parsers
    javax.xml.parsers.SAXParserFactory …
Run Code Online (Sandbox Code Playgroud)

java xml sax

1
推荐指数
1
解决办法
3841
查看次数

标签 统计

java ×2

xml ×2

sax ×1