1
我有一个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_container
范围内的每个item
元素上进行操作。意思是,我想在知道哪个item_container
下的时候对每个item
做某些事情。
下面是一些代码来获得在第一item_container:
foundation = @doc.at_xpath("//foundation")
ic = foundation.children.xpath("//series").children.xpath("//item_container")[0]
这一切都很好。现在,我会认为:
ic.children.xpath("//item")
将只返回前两个项目,这两个下的第一个item_container
。但是,它返回了我不了解的所有四个项目。
如何才能访问前两项?
哇 - 应该查看xpath语法,认为需要2个斜线,显然不是。 谢谢迈克! – 46and2 2010-07-22 00:17:31