2014-12-12 3 views
1

Использование Ruby с Nokogiri - простой способ удалить теги вокруг возвращенных результатов? Я не могу найти его в документах.Удаление тегов XML при разборе XML

Пример из Nokogiri site:

characters[0].to_s # => "<character>Al Bundy</character>" 

Я надеялся получить:

Al Bundy 
+0

Вы можете разместить XML, которые вы пытаетесь разобрать? – jbeck

+0

Вы не понимаете, как работает Нокигири. Когда мы находим тег, мы получаем XML :: Node или HTML :: Node. Узел состоит из тега, всех его параметров и любых дочерних узлов, встроенных в него. Если вы выполняете 'characters [0]' вы нарезаете NodeSet, который похож на массив узлов, смотрящий на первый узел, а 'to_s' просто превращает тег и содержимое в строку. Я бы рекомендовал прочитать документацию [XML :: Node] (http://www.rubydoc.info/github/sparklemotion/nokogiri/Nokogiri/XML/Node), поскольку он охватывает все, что вы хотите сделать с узлом , –

ответ

0

Вы можете использовать .inner_html метод. Вот пример, который вы можете использовать с основным XML Sitemap:

parse_content.css("url").each do |x| 
    location = x.css("loc").inner_html 
    last_mod = x.css("lastmod").inner_html 
end 

Вы можете прочитать о Sitemaps здесь: https://www.sitemaps.org/protocol.html

Смежные вопросы