Appearance
RSS/Atom parser
Parses an RSS 2.0 or Atom feed (XML text) and emits one record per feed item. Typically placed after an Http client that downloads the feed.
Pins
| Pin | Kind | Types | Description |
|---|---|---|---|
| Input | input | Viaducta.Plugins.Http.Types.WebSocketMessage, Viaducta.Plugins.TextPlugin.Types.TextRecord, Viaducta.Plugins.Http.Types.WebHttpResponse | The feed XML: WebSocketMessage.ContentString, TextRecord.Value, or WebHttpResponse.Body (falls back to ByteBody decoded as UTF-8). |
| Output | output | Viaducta.Plugins.TextPlugin.Types.RssRecord | One record per feed item. |
RssRecord (Viaducta.Plugins.TextPlugin.Types.RssRecord):
| Property | Type | Content |
|---|---|---|
Id | string | Item id (<guid> / Atom <id>). |
Title | string | Item title. |
ArticleLink | string | First link of the item. |
Summary | string | <description> / Atom summary. |
Categories | string | Category names, comma-separated. |
PublishDate | DateTimeOffset | Publication date. |
Authors | string | Author names, comma-separated. |
EnclosureUrl | string | URL of the attached media (RSS <enclosure>, Atom <link rel="enclosure">); empty if there is none. |
Configuration
None besides the common settings.
Behaviour
- For every input the whole feed is parsed and each item is emitted on
Outputin feed order, with the input's metadata. - Empty feeds emit nothing. Invalid XML or a document that is neither RSS nor Atom raises an error handled by the flow's error handling.
- The plugin has no memory of earlier runs: every item is emitted on every poll. Filter already processed items yourself (e.g. by
Idin a database or script).
Notes
- The plugin is marked "keep alive": a flow that contains it keeps running after its start components finish, as for a listener. Stop the flow explicitly if it is meant to run once.
- For Atom feeds authors are taken from
<name>; RSS feeds usually only give an e-mail in<author>, which can end up empty.
Example
No configuration. Placement:
Timer (00:00:15:00) → Http client (GET https://example.com/feed.xml) → RSS/Atom parser → C# script (filter new items) → Mail client