У меня есть файл XML: проблема с, казалось бы, простой XML синтаксический
<products>
<foundation label="New Construction">
<series label="Portrait Series" startImg="img/blank.png">
<item_container nr="1" label="Firebed">
<item next="11" id="" label="Logs Black Brick">img/PortraitSeries/logs-black-brick.png</item>
<item next="12" id="" label="Logs Red Brick">img/PortraitSeries/logs-red-brick.png</item>
</item_container>
<item_container nr="2" label="Fronts">
<item next="21" id="569LFP" label="Ledge Front - Patina">img/New_PortraitSeries/patina_front.png</item>
<item next="22" id="569LFB" label="Ledge Front - Black">img/New_PortraitSeries/black_front.png</item>
</item_container>
</series>
</foundation>
</products>
</meh>
Я использую Nokogiri разобрать. То, что я хочу сделать, это работать с каждым элементом item
в рамках каждого item_container
. Смысл, я хочу делать определенные вещи с каждым item
, зная, какие item_container
они находятся под.
Вот код, чтобы получить в первом item_container:
foundation = @doc.at_xpath("//foundation")
ic = foundation.children.xpath("//series").children.xpath("//item_container")[0]
Это все хорошо. Теперь, я предположил бы, что:
ic.children.xpath("//item")
вернется только первые два пункта, два под первой item_container
. Однако он возвращает все четыре элемента, которые я не понимаю.
Как я могу получить доступ к первым двум предметам?
wow - должен был рассмотреть синтаксис xpath, подумал, что требуется 2 слэша, видимо, нет. спасибо Майк! – 46and2