1

データベース シードを使用して、最大 10K の XML ノードをレコードとして Rails DB にインポートしようとしています。XML コードをインポートするコードは次のとおりです。

doc = Nokogiri::XML(File.read("./db/seed/recipes.xml"))

doc.xpath('//Item').each do |i|
  Recipe.find_or_create_by_title(title: i.xpath('title').inner_text)
end

およびサンプル XML データ:

<Item>
  <title>Fried Eggs and Collard Greens Over Polenta</title>
</Item>

しかし、シードしようとすると、最初のノードのみがシードされます (15k があります)。私はまったくの XML 初心者です。なぜこれが起こっているのかについてのアイデアはありますか?

4

1 に答える 1

2

XML ドキュメントには、他のすべての要素の親である 1 つの要素が含まれている必要があります。例えば、

<Items>
  <Item>
    <title>Fried Eggs and Collard Greens Over Polenta</title>
  </Item>
  <Item>
    <title>Fried Eggs and Collard Greens Over Polenta</title>
  </Item>
</Items>
于 2013-02-09T14:57:00.290 に答える