По общему признанию, я новичок из Nokogiri, и я должен что-то упустить ...
Я просто пытаюсь распечатать узел имени автора> из этого XML:
<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns:gd="http://schemas.google.com/g/2005" xmlns:docs="http://schemas.google.com/docs/2007" xmlns="http://www.w3.org/2005/Atom" gd:etag="">
<category term="http://schemas.google.com/docs/2007#document" scheme="http://schemas.google.com/g/2005#kind"/>
<author>
<name>Matt</name>
<email>Darby</email>
</author>
<title>Title</title>
</entry>
Я пытаюсь использовать это, но ничего не печатает. Кажется, ни один узел (даже '*') ничего не возвращает.
Nokogiri::XML(@xml_string).xpath("//author/name").each do |node|
puts node
end
По какой-то причине использование remove_namespaces!
заставляет приведенный выше бит работать должным образом.
xml = Nokogiri::XML(@xml_string)
xml.remove_namespaces!
xml.xpath("//author/name").each do |node|
puts node.text
end
=> "Matt"