Сложность парсинга XML - PullRequest
       1

Сложность парсинга XML

0 голосов
/ 07 апреля 2011
<root>
    <nodes>
        <headnode>
            <info>Sometext1</info>
        </headnode>
        <leafnode>
            <info>sometext2</info>
        </leafnode>
        <leafnode>
            <info>sometext3</info>
        </leafnode>
    </nodes>

    <nodes>
        <headnode>
            <info>Sometext4</info>
        </headnode>
        <leafnode>
            <info>sometext5</info>
        </leafnode>
        <leafnode>
            <info>sometext6</info>
        </leafnode>
    </nodes>
</root>

У меня есть вышеуказанный документ для анализа на стороне сервера внутри JavaBean.Я должен извлечь <info> из <headnode> каждого ребенка.

Я пытался разобрать это с помощью Java DOM, но я не могу попасть на подуровни дерева, используя

NodeList nList = doc.getElementsByTagName("nodes");

Но я не могу пройти дальше и не могу получить ... из каждого<headnode> каждого тега <nodes>.Пожалуйста, помогите.

1 Ответ

1 голос
/ 07 апреля 2011

Это будет получать <info> текст из каждого <headnode> в вашем XML:

NodeList nodeList = doc.getElementsByTagName("headnode");
for (int i = 0; i < nodeList.getLength(); i++) {
    Node node = nodeList.item(i);
    NodeList childList = node.getChildNodes();
    for (int j = 0; j < childList.getLength(); j++) {
        Node childNode = childList.item(j);
        if (childNode.getNodeName().equals("info")) {
            String info = childNode.getTextContent();
            System.out.println(info);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...