Xml Informa RSS-类丢失错误,我做错了什么?

Xml Informa RSS-类丢失错误,我做错了什么?,xml,parsing,opml,Xml,Parsing,Opml,我列出了一些代码,用于从YouTube读取订阅的OPML文件。代码来自 当我运行代码时,我得到类丢失错误。我能找到的唯一一个关于这一点的参考表明javaDOM版本可能是错误的,因为它被更新为DOM2.0,但没有告诉我如何修复,它只是说使用一个旧版本,并给出了指向javaDOM版本0.7的链接 现在,当我将JavaDOM0.7安装到Netbeans库中时,错误会消失,直到我尝试运行或编译它,但失败了 现在我不知道该怎么办 我已经为此挣扎了几天了,我的主要问题是OPML文件具有所有相同的标记信息,即

我列出了一些代码,用于从YouTube读取订阅的OPML文件。代码来自

当我运行代码时,我得到类丢失错误。我能找到的唯一一个关于这一点的参考表明javaDOM版本可能是错误的,因为它被更新为DOM2.0,但没有告诉我如何修复,它只是说使用一个旧版本,并给出了指向javaDOM版本0.7的链接

现在,当我将JavaDOM0.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中处理这些标签组合,没有足够的信息,我已经搜索了三天了…

我无法读取从YouTube导出为OPML文件的订阅。OPML由一个
outline
元素组成,该元素包含每个RSS订阅的多个
outline
子元素

Informa的
OPMLParser
类只查看了
body
元素中的
outline
元素,这就是大多数OPML订阅列表的结构。它没有在
outline
中查找子
outline
元素

作为替代解决方案,我使用JavaXML解析库1.12.10。下面是读取YouTube生成的OPML文件的代码:

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());
}
我无法读取从YouTube导出为OPML文件的订阅。OPML由一个
outline
元素组成,该元素包含每个RSS订阅的多个
outline
子元素

Informa的
OPMLParser
类只查看了
body
元素中的
outline
元素,这就是大多数OPML订阅列表的结构。它没有在
outline
中查找子
outline
元素

作为替代解决方案,我使用JavaXML解析库1.12.10。下面是读取YouTube生成的OPML文件的代码:

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());
}