关于Big XML文件的后续问题:
首先,非常感谢你的回答.之后......我做错了什么?这是我的使用SAX的类:
public class SAXParserXML extends DefaultHandler {
public static void ParcourXML() {
DefaultHandler handler = new SAXParserXML();
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
String URI = "dblp.xml";
SAXParser saxParser = factory.newSAXParser();
saxParser.parse(URI,handler);
} catch (Throwable t) {
t.printStackTrace ();
}
}
public void startElement (String namespaceURI,String simpleName,String qualifiedName,Attributes attrs) throws SAXException {
}
public void endElement (String namespaceURI,String simpleName,String qualifiedName) throws SAXException {
}
}
Run Code Online (Sandbox Code Playgroud)
你可以看到我对我的XML文件什么都不做但它给出了这个错误:
java.lang.OutOfMemoryError: Java heap space
at com.sun.org.apache.xerces.internal.util.XMLStringBuffer.append(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.refresh(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我正在尝试将xml文档加载到C#中的对象XPathDocument中.我的xml文档包括以下行:trésdégagée+ rade,当解析器到达那里时,它给了我这个错误:"解析EntityName时出错"我知道这是字符"é"的正常原因.有谁知道我怎么能避免这个错误...我的想法是在xml文档中插入一个实体声明,并在用实体替换所有特殊字符后......但它很长,我不确定它是否正常工作.你有其他想法吗?更简单?非常感谢
我正在尝试在java中解析高达500 MB的XML文件.我试图使用SAX,但它给了我这个错误java.lang.OutOfMemoryError:com.sun.org.apache.xerces.internal.util.XMLStringBuffer.append(未知来源)的Java堆空间你能帮帮我吗?非常感谢.PS较小的XML文件工作得很好