Разбор XML-файла с помощью DOM (Java)

Я хочу разобрать следующий URL:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=nucleotide&id=224589801

В результате я придумал следующий метод:

public void parseXml2(String URL) {
    DOMParser parser = new DOMParser();

    try {
        parser.parse(new InputSource(new URL(URL).openStream()));
        Document doc = parser.getDocument();

        NodeList nodeList = doc.getElementsByTagName("Item");
        for (int i = 0; i < nodeList.getLength(); i++) {
            Node n = nodeList.item(i);
            Node actualNode = n.getFirstChild();
            if (actualNode != null) {
                System.out.println(actualNode.getNodeValue());
            }
        }

    } catch (SAXException ex) {
        Logger.getLogger(TaxMapperXml.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(TaxMapperXml.class.getName()).log(Level.SEVERE, null, ex);
    }
}

С помощью этого метода я могу получить значения узлов Item, но не могу получить ни один из их атрибутов. Я попытался поэкспериментировать с getAttribute () с NamedNodeMap, но все еще безрезультатно.

Почему я должен сделатьn.getFirstChild().getNodeValue(); получить реальную стоимость?n.getNodeValue() возвращает просто ноль? Разве это не интуитивно понятно - очевидно, в моем случае узлы не имеют подузлов?

Существует ли более надежный и общепринятый способ анализа файлов XML с использованием DOM? Мои файлы не должны быть большими 15-20 строками, поэтому SAX не нужен (или это?)

Ответы на вопрос(3)

Ваш ответ на вопрос