Проблема при загрузке файла XML с использованием Dom Parser - PullRequest
0 голосов
/ 05 января 2020

Я новичок в Java программировании и у меня проблемы с чтением XML -файла. Я пытаюсь сохранить информацию из XML с помощью парсера DOM. Я загружаю xml в документ и затем пытаюсь сохранить все расписания радиоканала в NodeList. но программа многократно сохраняет только информацию первого узла. Где проблема с моим кодом?

   NodeList episodeElement = doc.getElementsByTagName("schedule");

    for (int i = 0; i < episodeElement.getLength(); i++) {
        Node n = episodeElement.item(i);
        if (n.getNodeType() == Node.ELEMENT_NODE && getSize(doc) != 0) {
            Element e = (Element) n;
            String title = e.getElementsByTagName("title").item(i).getTextContent();
            NodeList nd = e.getElementsByTagName("description");
            String description;
            if (nd.getLength() > 0) {
                description = nd.item(i).getTextContent();
            }else {
                description = null;
            }
            String startTime = e.getElementsByTagName("starttimeutc").item(i).getTextContent();
            String endTime = e.getElementsByTagName("endtimeutc").item(i).getTextContent();
            Program prog = new Program(id, title, description, startTime, endTime);
            System.out.println(startTime);
            programs.add(i, prog);
        }
        else {
            System.out.println("No schedules found");
        }
    }

1 Ответ

0 голосов
/ 05 января 2020

Вы не использовали метод .getChildNodes () для прохождения слоя вниз по тегу и его зацикливания, поэтому он просто извлекает информацию о первом узле. Перейдите по этой ссылке, и вы сможете найти отличный пример.

https://www.youtube.com/watch?v=HfGWVy-eMRc

...