Я использую следующие классы в своем коде для анализа огромных данных XML размером 3,43 МБ и пытаюсь извлечь значения узлов в хеш-таблицу.
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.xml.sax.SAXException;
Мой код выдает ошибку:
String nodeValue=node.getNodeValue();
Error is:
Exception in thread "main" java.lang.StackOverflowError
at com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.getNodeValueString(Unknown Source)
at com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.getNodeValueString(Unknown Source)
at com.sun.org.apache.xerces.internal.dom.DeferredTextImpl.synchronizeData(Unknown Source)
at com.sun.org.apache.xerces.internal.dom.CharacterDataImpl.getNodeValue(Unknown Source)
, даже если он пытается напечатать данные в консоли следующим образом:
System.out.println(node.getNodeValue());
Ошибка заключается в следующем:
Exception in thread "main" java.lang.StackOverflowError
at com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.getNodeValueString(Unknown Source)
at com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.getNodeValueString(Unknown Source)
at com.sun.org.apache.xerces.internal.dom.DeferredTextImpl.synchronizeData(Unknown Source)
at com.sun.org.apache.xerces.internal.dom.CharacterDataImpl.getNodeValue(Unknown Source)
Я считаю, что node.getNodeValue()
не может прочитать при определенномточка данных XML.
Я не могу избавиться от этой ошибки.Пожалуйста, помогите мне.