使用ruby在RSS中解析本地天气信息时遇到的困难

使用ruby在RSS中解析本地天气信息时遇到的困难,ruby,regex,rss,expression,cdata,Ruby,Regex,Rss,Expression,Cdata,我正在使用一个网站代理从我们当地的海洋研究所获取数据。 此提要可在以下位置获得: 提要内有一个标记,用于保存带有html标记的天气传感器内容: e、 g.德国航空公司温度=空气温度 Wassertemperature=水温 等等 我正在尝试获取每个站点的值(例如,站点研究所的LuftTemperature、站点研究所的WasserTemperature等) 我在rubular.com上得到了regex的帮助: 在rubular中,我得到了一个有效的响应,但在ruby中,我得到了一个空的[] 我很

我正在使用一个网站代理从我们当地的海洋研究所获取数据。 此提要可在以下位置获得:

提要内有一个标记,用于保存带有html标记的天气传感器内容: e、 g.德国航空公司温度=空气温度 Wassertemperature=水温 等等

我正在尝试获取每个站点的值(例如,站点研究所的LuftTemperature、站点研究所的WasserTemperature等) 我在rubular.com上得到了regex的帮助:

在rubular中,我得到了一个有效的响应,但在ruby中,我得到了一个空的[]

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

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

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

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

([^:\s][^:>你真的应该使用XML解析库而不是正则表达式。网站代理也可以解析XML,但我无法解析CDATA中的数据…因此我切换到文本和正则表达式。有什么想法吗?无需使用技术了解基尔的天气,那里总是很冷。是的:)你说得对,但是知道风速对冲浪来说很好!@othreed:注意,你可以这样说:非常感谢你的帮助。这是我第一次在这里发帖:)我正在研究你的代码并进行实验。两天前我做了第一个正则表达式:)@othreed:rubular是为ruby实验正则表达式的好工具,但你可以得到更多关于使用regex101.com的模式的信息