Ruby on rails, Как использовать Nokogiri для получения идентификатора в тегах в XML? - PullRequest
0 голосов
/ 28 декабря 2018

недавно у меня возникла проблема с Нокогири.Как я могу получить идентификатор в теге?

Например, есть файл XML, а внутри кода, как это:

<channel id="firstchannel">
    <display-name>channel name </display-name>
    <icon src="pngpath"/>
</channel>

Как я мог получить идентификатор "firstchannel"?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Существует много разных способов найти нужный элемент.
Например, если

<icon src="pngpath"/>

относительно уникален и мы используем его в качестве якоря.
Тогда код будет:

#require 'nokogiri'
doc = Nokogiri::XML File.read "file.xml"  #Read xml file and parse into Nokogiri object
ic = doc.css('icon[src="pngpath"]') #locate icon element
theId = ic.first.parent.get_attribute :id  #Find the id

p theId
#=> "firstchannel"

В зависимости от ситуации, вам может понадобиться другой подход, чтобы найти нужную вещь.

0 голосов
/ 28 декабря 2018

Я думаю:

doc = Nokogiri::HTML(info_html)
channel = doc.css('channel')[0]['id']

Оформить заказ более подробно об основных нокогири здесь по этой ссылке

...