В настоящее время я пытаюсь десериализовать канал RSS с помощью Jackson FasterXML на Kotlin.
Канал RSS выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet title="XSL_formatting" type="text/xsl" href="/shared/bsp/xsl/rss/nolsol.xsl"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title><![CDATA[BBC News - Home]]></title>
<description><![CDATA[BBC News - Home]]></description>
<link>https://www.bbc.co.uk/news/</link>
<image>
<url>https://news.bbcimg.co.uk/nol/shared/img/bbc_news_120x60.gif</url>
<title>BBC News - Home</title>
<link>https://www.bbc.co.uk/news/</link>
</image>
<generator>RSS for Node</generator>
<lastBuildDate>Wed, 03 Oct 2018 13:30:27 GMT</lastBuildDate>
<copyright><![CDATA[Copyright: (C) British Broadcasting Corporation, see http://news.bbc.co.uk/2/hi/help/rss/4498287.stm for terms and conditions of reuse.]]></copyright>
<language><![CDATA[en-gb]]></language>
<ttl>15</ttl>
<item>
<title><![CDATA[Theresa May: Tories must be a party for everyone]]></title>
<description><![CDATA[Theresa May pledges to boost council house-building and says austerity is over, in her big speech.]]></description>
<link>https://www.bbc.co.uk/news/uk-politics-45725615</link>
<guid isPermaLink="true">https://www.bbc.co.uk/news/uk-politics-45725615</guid>
<pubDate>Wed, 03 Oct 2018 13:14:22 GMT</pubDate>
<media:thumbnail width="976" height="549" url="http://c.files.bbci.co.uk/0CCE/production/_103687230_hi049731823_crop.jpg"/>
</item>
<item>
<title><![CDATA[May dances on to stage to Abba ]]></title>
<description><![CDATA[With a nod to stage malfunctions and the cough which dogged her 2017 Conservative conference speech, Theresa May danced her way on to the 2018 stage.]]></description>
<link>https://www.bbc.co.uk/news/uk-politics-45733091</link>
<guid isPermaLink="true">https://www.bbc.co.uk/news/uk-politics-45733091</guid>
<pubDate>Wed, 03 Oct 2018 11:14:17 GMT</pubDate>
<media:thumbnail width="768" height="432" url="http://c.files.bbci.co.uk/18EA/production/_103687360_may2.jpg"/>
</item>
<item>
<title><![CDATA[Skripal poisoning: Putin denounces ex-spy as 'scum']]></title>
<description><![CDATA[Russia's president complains the media are spending too much time on the man poisoned in Salisbury.]]></description>
<link>https://www.bbc.co.uk/news/world-europe-45732221</link>
<guid isPermaLink="true">https://www.bbc.co.uk/news/world-europe-45732221</guid>
<pubDate>Wed, 03 Oct 2018 13:19:34 GMT</pubDate>
<media:thumbnail width="976" height="549" url="http://c.files.bbci.co.uk/1692/production/_103687750_049734043-1.jpg"/>
</item>
</channel>
</rss>
Меня интересует только десериализация следующего:
Channel:
Title
Link
Image
Item:
Title
Description
Link
pubDate
media:thumbnail
В настоящее время я могу отлично десериализовать эту строку XML - однако мне нужно явно указать, какие теги я хочу игнорировать, используя @JsonIgnoreProperties("generator", "ttl")
и т. Д.
Это вызывает проблемуоднако - поскольку в некоторых каналах есть дополнительные теги, и я не могу просмотреть все возможные каналы, чтобы вручную вводить значения, которые следует игнорировать.
Я пытался решить эту проблему самостоятельно и искал в Интернете похожие вопросы - но я не знаюКажется, я не нашел ни одного вопроса или решения, которые бы соответствовали моей проблеме.
Поэтому мой вопрос таков: существует ли способ десериализации только указанных тегов и игнорирования всего остального (без явного указания тегов, которые следует игнорировать) с использованием Джексона?FasterXML или подобный фреймворк?