Jsoup ошибочно закрывает тег и выводит текст тега из тега

Я анализировал фид, но он ошибочно закрывает тег

<link />http://wwww

Вот мой код для получения HTML с URL

    Document doc = Jsoup.connect(pURL).get();
    doc.outputSettings().outline(false);
    doc.outputSettings().prettyPrint(false);
    String html = doc.html();

Это дает следующий XML

<!--?xml version="1.0" encoding="utf-8"?--><html><head></head><body><rss version="2.0">    <channel>
    <title>Fenopy rss</title>
    <link />http://fenopy.eu/ <----------@see this
    <description>Fenopy torrent rss</description>
    <language>en-us</language>

        <item>
        <title>Broken City 2013 CAMRip English</title>
        <guid ispermalink="true">http://fenopy.eu/torrent/broken+city+2013+camrip+english/OTU0MDI1MA</guid>
        <pubdate>Sun, 27 Jan 2013 19:23:21 GMT</pubdate>
        <category>Movies</category>
        <link />http://fenopy.eu/torrent/bnglish/OTU0MDI1MA <----------@see this
        <enclosure url="http://fenopy.eu/torrent/Broken-City-2013-CAMRip-English/OTU0MDI1MA==/download.torrent" length="783829383" type="application/x-bittorrent" />
        <description> Category: Movies&lt;br/&gt;Size: 747.5 MB&lt;br/&gt;Ratio: 60 seeds, 11 leechers&lt;br/&gt; </description>
        </item>

но когда я открываю его в браузере, он показывает правильный XML

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" >    <channel>
    <title>Fenopy rss</title>
    <link>http://fenopy.eu/</link>
    <description>Fenopy torrent rss</description>
    <language>en-us</language>

        <item>
        <title>Broken City 2013 CAMRip English</title>
        <guid isPermaLink='true'>http://fenopy.eu/torrent/broken+city+2013+camrip+english/OTU0MDI1MA</guid>
        <pubDate>Sun, 27 Jan 2013 19:23:21 GMT</pubDate>
        <category>Movies</category>
        <link>http://fenopy.eu/torrent/broken+city+2013+camrip+english/OTU0MDI1MA</link>
        <enclosure url="http://fenopy.eu/torrent/Broken-City-2013-CAMRip-English/OTU0MDI1MA==/download.torrent" length="783829383" type="application/x-bittorrent" />
        <description><![CDATA[ Category: Movies<br/>Size: 747.5 MB<br/>Ratio: 60 seeds, 11 leechers<br/> ]]></description>
        </item>

Я не знаю, что происходит. есть ли ошибка в Jsoup 1.7.2 jar? Помоги мне...

1 ответ

Решение

Это не ошибка. Ваш тип содержимого ответа GDATA: application/rss+xmlтак что вы должны указать свой Parser синтаксический анализатор XML; в противном случае по умолчанию это HTML-парсер, который работает по-другому.

    // load Document
    Document doc = Jsoup.connect(URL_SOURCE).ignoreContentType(true).parser(Parser.xmlParser()).get();

// Если вы установили контур и prettyprint = true, то вам нужно искать символы \n и \t и удалять их, поэтому сделайте их ложными

    // config output
    doc.outputSettings().outline(false);
    doc.outputSettings().prettyPrint(false);

    // output result
    System.out.println(doc.html());

Результат <link> правильно вывести, если вы укажете парсер XML.

Другие вопросы по тегам