Informa RSS - Ошибка в классе, что я делаю не так?

Я установил некоторый код для чтения файла OPML для подписок с YouTube. Код взят из информ RSS здесь

Когда я запускаю код, я получаю сообщение об отсутствии класса. Единственная ссылка на это, которую я мог найти, предполагала, что версия javaDOM может быть неправильной, так как она была обновлена ​​до DOM2.0, но не сказала мне, как я могу это исправить, она просто сказала использовать более старую версию и дала ссылку на версию 0.7 javaDOM?

Теперь, когда я установил JavaDOM 0.7 в библиотеку для NetBeans, ошибка исчезает до тех пор, пока я не попытаюсь запустить или скомпилировать ее, и она не будет выполнена....

Теперь я не знаю, куда идти с этим.

Я боролся с этим уже несколько дней, моя главная проблема в том, что в файле OPML есть та же информация тегов, т.е.

<opml version="1.1">
<body>
    <outline text="YouTube Subscriptions" title="YouTube Subscriptions">
            <outline text="PersonOne" title="PersonOne" type="rss" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCuNfoe7ozooi0LZgp6JJS4A" />
            <outline text="PersonTwo" title="PersonTwo" type="rss" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCVErFSr-jdTa_QE4PPSkVJw" />
            <outline text="Person Three" title="Person Three" type="rss" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCittVr8imKanO_5KohzDbpg" />
        </outline>
    </body>
</opml>

... и не хватает информации о том, как обрабатывать эту комбинацию тегов в Java, я искал три дня...

1 ответ

Мне не удалось заставить Informa 0.7.0-alpha2 читать подписки, экспортированные из YouTube в виде файла OPML. OPML состоит из одного outline элемент, который содержит несколько outline дочерние элементы для каждой подписки RSS.

Информ-х OPMLParser класс только смотрел на outline элементы внутри body элемент, который является, как большинство списков подписки OPML структурированы. Это не смотрел на ребенка outline элементы внутри outline,

В качестве альтернативного решения я использовал библиотеку синтаксического анализа Java XML XOM 1.12.10. Вот код для чтения файла OPML, который создает YouTube:

try {
    // create an XML builder
    Builder bob = new Builder();
    // build an XML document from the OPML file
    Document doc = bob.build(new File("subscription_manager.xml"));
    // get the root element
    Element opml = doc.getRootElement();
    // get root's body element
    Element body = opml.getFirstChildElement("body");
    // get body's outline element
    Element outline = body.getFirstChildElement("outline");
    // get outline's child outline elements
    Elements outlines = outline.getChildElements("outline");
    // loop through those elements
    for (int i = 0; i < outlines.size(); i++) {
        // display each RSS feed's URL
        System.out.println(outlines.get(i).getAttributeValue("xmlUrl"));
    }            
} catch (ParsingException | IOException ex) {
    System.out.println(ex.getMessage());
}

Этот код имеет эти импорты:

import java.io.File;
import java.io.IOException;
import nu.xom.Builder;
import nu.xom.Document;
import nu.xom.Element;
import nu.xom.Elements;
import nu.xom.ParsingException;
Другие вопросы по тегам