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