Ruby REXML: Get Wert Eines XML-Elements

Ich versuche, die Werte von xml-Elementen in ein array mit rexml. Hier ist ein Beispiel, was ich Tue:

doc = Document.new("<data><title>This is one title</title><title>This is another title</title></data>")
XPath.each( doc, "*/title") { |element| 
    puts element.text
}

Jedoch, dass Ausgänge:

[<title> ... </>, <title> ... </>] 

Wie ich es bekommen kann, um die Ausgabe ein array mit "Dies ist eine überschrift" und "Dies ist ein weiterer Titel"?

  • Während puts konvertieren kann Ihr argument, das argument auf eine Zeichenfolge wie auch immer, Sie können den XPath-return der text-node in den ersten Platz: XPath.each(doc, "*/title/text()") {...
  • Das war es dann. Ich musste rufen Sie die text () - Methode innerhalb der einzelnen. Danke!!!
  • Sorry Lars, ich sah nur Ihren Kommentar, nachdem ich gepostet meine Antwort 🙁 Bitte postet eine Antwort, und ich werde löschen meiner.
  • ok, werde das tun. Der Grund, warum ich nicht poste eine Antwort in der ersten Ort ist, weil ich dachte, basierend auf lwburk die Antwort, dass das problem wurde bereits gelöst.
  • froh, dass Ihr problem gelöst ist. Ich umgewandelt mein Kommentar zu einer Antwort... also, wenn Sie wollen upvote es, das ist es.
InformationsquelleAutor Jarred | 2011-11-17
Schreibe einen Kommentar