Как обрабатывать вложенные XML-файлы в Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Как обрабатывать вложенные XML-файлы в Java?

Сообщение Anonymous »

Я работаю с New York Times Corpus над проектом, и сейчас у меня возникли проблемы с работой с XML-файлами при получении текстового содержимого для большей части моего проекта.

Каждый год в корпусе содержит XML-файлы размером в сотни мегабайт, в которых есть XML-файл для каждой статьи за этот год.

Я хочу получить текст из тега body.content.

Общий формат XML-файла для определенного года это что-то вроде:

Код: Выделить всё

    



 Article1 








...






 Article2 








...
Это класс и метод, которые я использовал при попытке проанализировать XML-файл:

Код: Выделить всё

import org.w3c.dom.Document;
import org.w3c.dom.NodeList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathFactory;
import java.io.FileWriter;
import java.util.ArrayList;

public class XMLParser {

public static XMLParser parser = new XMLParser();

public static final String TEXT_LOCATION = "/txts/";

private XMLParser(){

}

public static XMLParser getParser(){

return parser;
}

public void XMLtoText(String xmlLocation, int year) throws Exception{

ArrayList text = new ArrayList();

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder =  factory.newDocumentBuilder();

Document doc = builder.parse(xmlLocation);

XPathFactory xFactory = XPathFactory.newInstance();
XPath xpath = xFactory.newXPath();
XPathExpression expr = xpath.compile("//body.content/text()");
Object result = expr.evaluate(doc, XPathConstants.NODESET);

NodeList nodes = (NodeList) result;

for (int i=0; i

Подробнее здесь: [url]https://stackoverflow.com/questions/43622200/how-to-handle-nested-xml-files-in-java[/url]

Вернуться в «JAVA»