odi*_*nsy 2 ruby xml xpath ruby-on-rails nokogiri
我有两个要素,item
并且date
:
item
has_many日期date
belongs_to项目我有一个XML树的文件,如下所示:
<content>
<item_1>
<title>
<description>
<date_1>
<date></date>
<count></count>
</date_1>
<date_2>
<date></date>
<count></count>
</date_2>
</item_1>
<item_2>
<title>
<description>
<date_1>
<date></date>
<count></count>
</date_1>
<date_2>
<date></date>
<count></count>
</date_2>
</item_2>
</content>
Run Code Online (Sandbox Code Playgroud)
我使用Nokogiri来解析来自item
和的数据date
.我写了一半脚本,它创建了元素:
doc.xpath("//content/*").each do |item|
Item.create!(
title: item.xpath("title").text,
description: item.xpath("description").text)
end
Run Code Online (Sandbox Code Playgroud)
现在我需要找到并建立项目(元素的所有日期date
),但不知道如何解析标签,如<data_1>
,<data_2>
,<data_3>
等我试着
tour.xpath("//*/data_*").each do |date|
puts date
end
Run Code Online (Sandbox Code Playgroud)
要么
tour.xpath{ |i| "//*/data_#{i}" }.each do |date|
puts date
end
Run Code Online (Sandbox Code Playgroud)
但它不起作用或我收到错误.
用于选择date
文档中所有元素的XPath ,无论其遗产如何,都是:
//date
Run Code Online (Sandbox Code Playgroud)
用于选择名称以"date_"开头的所有元素的XPath是:
//*[starts-with(local-name(), 'date_')]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
459 次 |
最近记录: |