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 的条目将通过过滤器获得。
`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");