Nokogiri und Suche nach element mit Namen
Ich bin Parsen einer XML-Datei mit Nokogiri mit dem folgenden snippet:
doc.xpath('//root').each do |root|
puts "# ROOT found"
root.xpath('//page').each do |page|
puts "## PAGE found /#{page['id']} /#{page['name']} /#{page['width']} /#{page['height']}"
page.children.each do |content|
...
end
end
end
Wie kann ich analysieren, durch alle Elemente auf der Seite-element? Es gibt drei verschiedene Elemente: Bild, text und video. Wie kann ich eine case-Anweisung für jedes element?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ehrlich, man sieht ziemlich nah an mir..
Beide Nokogiri CSS-und XPath-Accessoren können mehrere tags angegeben werden, die nützlich sein können für diese Art von problem. Anstatt zu Fuß durch jeden tag im Dokument ist
page
tag:Dies ist eine Suche mit CSS:
Bemerken, es gibt die tags in der Reihenfolge, die CSS-accessor gibt es. Wenn Sie die Reihenfolge der tags im Dokument, verwenden Sie die XPath:
In jedem Fall, das Programm soll schneller laufen, weil alle, die die Suche erfolgt in libXML, wenn nur die Knoten, die Sie brauchen für Ruby ' s Verarbeitung.
Wenn Sie brauchen, um die Suche einschränken, um innerhalb einer
<page>
- tag können Sie eine Suche vorne zu finden, diepage
Knoten, dann suchen Sie unter es:oder