小编odi*_*nsy的帖子

选择名称以某个字符串开头的所有XML元素?

我有两个要素,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)

但它不起作用或我收到错误.

ruby xml xpath ruby-on-rails nokogiri

2
推荐指数
1
解决办法
459
查看次数

标签 统计

nokogiri ×1

ruby ×1

ruby-on-rails ×1

xml ×1

xpath ×1