我有多个语句,如:
<House name="test1">
<Room id="test2" name="test3" >
<test name="test4" param="test5">
<blah id="test6" name="test7">
</blah>
</test>
</Room>
</House>
当blah name
是某个特定值,例如test7
时,我需要相应的房间名称。我如何实现这一目标?
答案 0 :(得分:1)
我从未使用Nokogiri,但我尝试过,这似乎有效:
xml_doc.css('blah[name="test7"]').first.ancestors("Room").first['name']
=> "test3"
只需检查nil
s。
2.3.1 :132 > xml_doc.css('blah[name="test7"]').map { |node| node.ancestors("Room").first['name'] }
=> ["test3"]