如何获取XML父属性值

时间:2016-10-18 08:56:48

标签: ruby nokogiri

我有多个语句,如:

<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时,我需要相应的房间名称。我如何实现这一目标?

1 个答案:

答案 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"]