2016-10-18 105 views
0

我有多個語句,如:如何獲得XML parent屬性值

<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

我從來沒有使用過引入nokogiri但我想,這似乎工作:

xml_doc.css('blah[name="test7"]').first.ancestors("Room").first['name'] 
=> "test3" 

只是檢查nil秒。

2.3.1 :132 > xml_doc.css('blah[name="test7"]').map { |node| node.ancestors("Room").first['name'] } 
=> ["test3"] 
+0

如果您沒有使用過nokogiri,您是如何在第一次嘗試時這樣做的?我會嘗試這個代碼。 – InQusitive

+0

我閱讀了文檔並進行了一些Google搜索。並嘗試在irb。 – Ursus

+0

我希望所有的輸出不是第一個['名稱'])我該怎麼做。刪除第一個['姓名']不起作用。 – InQusitive