gpt4 book ai didi

ruby-on-rails - nokogiri 从 xml 到数组的多个元素

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:51 24 4
gpt4 key购买 nike

我有一个 XML 新闻提要,我想从中抓取故事,以及每个故事的一些元素。the original xml在这里,这是每个故事的示例。

<news:NewsResult>
<news:Title>Essex Police/Fire</news:Title>
<news:Url>http://www.gloucestertimes.com/local/x2118804357/Essex-Police-Fire</news:Url>
<news:Source>Gloucester Daily Times</news:Source>
<news:Snippet>ESSEX — An attempt to serve a summons to a Piper Lane resident was thwarted at 2:25 p.m. Monday when police discovered that the person no longer lives at that address. Alarms were set off in error on Belcher Street at 3:12 p.m. Monday, on Main Street at ...</news:Snippet>

到目前为止我有这样的代码:

def xml2Var(xmlin)
#Parse received XML with Nokogiri
doc = Nokogiri::XML(xmlin)

#Remove namespaces
doc.remove_namespaces!

#print dat ish?
# p p doc

#extract values.
title = doc.xpath("//Title")
snippet = doc.xpath("//Snippet")
url = doc.xpath("//Url")
source = doc.xpath("//Source")

我想将这些值放入每个故事的数组中。然后,将每个故事添加到故事数组中,以便我可以在我的 Rails 应用程序中显示它。我有点设法做到这一点,但无法显示每个故事和每个故事的属性。我认为我对 Xpath 的使用是错误的?

最佳答案

要将故事放入数组中,您可以执行以下操作:

doc.css("NewsResult").map{|nr| [nr.at('Title'),nr.at('Snippet'),nr.at('Url'),nr.at('Source')].map(&:text)}

关于ruby-on-rails - nokogiri 从 xml 到数组的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9505651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com