2010-08-26 4 views
2

J'ai besoin d'accéder à XML qui se trouve dans un autre serveur Web. Est-ce que rails/ruby ​​a une fonction qui me permet d'accéder à ce fichier xml et ensuite de le stocker dans une variable pour que je puisse le traiter avec libxml-ruby?accéder à xml distant dans les rails

Répondre

1

Il existe un certain nombre de bibliothèques de niveau Ruby pour accéder aux ressources HTTP distantes. La plus ancienne est

Une fois que vous avez reçu le fichier XML, utilisez Hpricot ou d'autres options pour l'analyser.

Ajouté:

Rappelez-vous que vous ne voulez probablement pas à faire vos clients attendent pendant que votre serveur Rails interroge un autre serveur. Cachez vos résultats XML si vous le pouvez, ou récupérez le XML en arrière-plan.

3

Si vous ne faites pas de modifications DOM (c'est-à-dire que vous n'avez pas besoin de la structure XML mais des données), vous pouvez utiliser HTTParty, qui effectue tout l'analyse pour vous.

Par exemple:

timeline = HTTParty.get("http://twitter.com/statuses/public_timeline.xml", :format => :xml) 
timeline["statuses"].map{|status| status["user"]["screen_name"] } # => ["bobby", "johnny", "denisss"] 
Questions connexes