286.6. RSS Dataformat
RSS 组件附带一个 RSS dataformat,可用于在 String (作为 XML)和 ROME RSS 模型对象之间进行转换。
-
marshal = 从 ROME
SyndFeed
到 XML字符串
-
unmarshal = 从 XML
字符串
到 ROMESyndFeed
使用 RSS dataformat 的路由类似如下: from ("rss:file:src/test/data/rss20.xml?splitEntries=false&consumer.delay=1000").marshal ().rss ().to ("mock:marshal");
此功能的目的是使用 Camel 的内置表达式来操作 RSS 消息。如下所示,可以使用 XPath 表达式来过滤 RSS 消息。在以下示例中,在标题中带有 Camel 的 ly 条目将通过过滤器进行。
`from("rss:file:src/test/data/rss20.xml?splitEntries=true&consumer.delay=100").marshal().rss().filter().xpath("//item/title[contains(.,'Camel')]").to("mock:result");`
提示
如果 RSS 源的 URL 使用查询参数,则此组件将解析它们。例如,如果源使用 alt=rss
,则以下示例将解决: from ("rss:http://someserver.com/feeds/posts/default?alt=rss&splitEntries=false&consumer.delay=1000").to"bean:rss");