使用ruby解析RSS中的本地天气信息的正则表达式很困难

时间:2014-09-28 21:25:13

标签: ruby regex rss expression cdata

我正在使用网站代理从当地海洋学院获取数据。 Feed可在此处获取:http://www.geomar.de/service/wetter/feed/

Feed内部是一个标记,用于保存带有html标记的天气传感器内容: 例如Lufttemperatur =空气温度 Wassertemperature =水温 等

我正在尝试获取每个工作站的值(例如,用于工作站Institut的Lufttemperatur,用于工作站研究所的Wassertemperatur等) 我在rubular.com上获得了正则表达式的帮助:http://rubular.com/r/INYCQF5Y6H

在rubular上我得到了一个有效的回复但是在我的红宝石中我得到一个空的[]

我很高兴能得到任何帮助 感谢

1 个答案:

答案 0 :(得分:1)

我当时建议您使用nokogiri这是一个优秀的xml解析器,但在查看xml代码之后,我意识到您正在寻找的数据根本没有结构化的xml标记。这就是为什么对于这个特定的页面,基础文本研究更合适的原因:

您可以使用此模式获取所有键/值:

([^:\s<>][^:><]+): ([^<]+)

online demo

显然,你需要在{。\ n}之后处理像&deg;这样的html实体。