Zugegebenermaßen bin ich ein Nokogiri-Neuling und ich muss etwas vermissen ...
Ich versuche einfach, den Autor & gt; Benenne Knoten aus diesem XML:
%Vor%Ich versuche das zu benutzen, aber es druckt nichts. Scheinbar gibt kein Knoten (selbst '*') nichts zurück.
%Vor%Alejandro hat das bereits beantwortet in seinem Kommentar (+1), aber ich Ich füge auch diese Antwort hinzu, weil er den Nokogiri-Code weggelassen hat.
Die Elemente, die Sie auswählen möchten, befinden sich im Standardnamespace, der in diesem Fall http://www.w3.org/2005/Atom
zu sein scheint. Beachten Sie das Attribut xmlns="
für entry
element. Ihr XPath-Ausdruck stimmt stattdessen mit Elementen überein, die sich nicht in einem Namespace befinden. Dies ist der Grund, warum Ihr Code ohne Namespaces funktioniert hat
Sie müssen einen Namespace-Kontext für Ihren XPath-Ausdruck definieren und Ihre XPath-Schritte auf Elemente in diesem Namespace verweisen. AFAIK sollte es mit Nokogiri nur wenige verschiedene Möglichkeiten geben, eine davon ist unten abgebildet.
%Vor%Beachten Sie, dass wir hier eine Zuordnung von Namespace zu Präfix definieren und dieses Präfix (% co_de%) im XPath-Ausdruck verwenden.
Aus irgendeinem Grund führt die Verwendung von remove_namespaces!
dazu, dass das obige Bit wie erwartet funktioniert.