Nokogiri und XPath helfen

8

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%     
Matt Darby 25.08.2010, 14:56
quelle

2 Antworten

13

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.

Auswählen von Elementen in einigen Namespaces mit Nokogiri mit XPath

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.

    
jasso 26.08.2010, 12:44
quelle
7

Aus irgendeinem Grund führt die Verwendung von remove_namespaces! dazu, dass das obige Bit wie erwartet funktioniert.

%Vor%     
Matt Darby 25.08.2010 15:27
quelle

Tags und Links