Comment analyser le XML dans Ruby

Comment analyser le XML dans Ruby
Les documents XML et HTML sont une technologie répandue qui alimente l'Internet moderne. Presque chaque page Web sur Internet utilise au moins un seul formatage HTML. Ce guide rapide discutera de la façon d'analyser les documents XML et HTML dans Ruby en utilisant le package Nokogiri populaire.

Quels sont les documents XML et HTML?

Les documents HTML sont tout document qui contient un langage de marque hypertexte, qui est le format de base utilisé pour décrire la structure des documents affichés sur le Web.

De même, les documents XML sont des documents contenant du balisage XML. Selon la documentation officielle, XML ou le langage de balisage extensible est un langage de balisage qui définit les règles de codage des documents pour la lisibilité humaine et machine.

Les documents HTML et XML se terminent par .html et .XML, respectivement.

Installation

Avant de pouvoir traiter tous les documents XML ou HTML dans Ruby, nous devons installer la bibliothèque Parser XML / HTML. Dans cet exemple, nous utiliserons la bibliothèque Nokogiri.

Pour l'installer, utilisez la commande GEM Package Manager:

$ gem install nokogiri
Récupérer nokogiri-1.12.0-x86_64-linux.gemme
Installé avec succès nokogiri-1.12.0-x86_64-linux
Documentation d'analyse pour NoKogiri-1.12.0-x86_64-linux
Installation de la documentation RI pour NoKogiri-1.12.0-x86_64-linux
Fait de l'installation de la documentation pour Nokogiri après 1 seconde
1 gemme installé

Une fois installé, vous pouvez le tester en lançant la coque interactive Ruby avec la commande IRB.
Ensuite, importez le package comme:

nécessitent 'nokogiri'
=> vrai

Chargement des documents HTML / XML

Pour charger des documents HTML ou XML à l'aide de la bibliothèque NoKogiri, vous utilisez l'opérateur de résolution d'espace de noms Ruby et accédez au chargeur, soit le HTML ou XML.

Par exemple: pour charger HTML, utilisez:

nécessitent 'nokogiri'
html_data = nokogiri :: html ('






Document



<')
met html_data.classe

L'exemple de code doit charger le contenu HTML et les enregistrer dans la variable définie. Pour vérifier la classe source des données, nous utilisons le .Méthode de classe.

Le code doit afficher la sortie comme:

Nokogiri :: html4 :: document

Chargement à partir du fichier

Nous pouvons également charger les données d'un fichier HTML / XML. Considérez un exemple de fichier avec le contenu XML comme:

Pour charger le fichier XML avec NoKogiri, vous pouvez utiliser l'exemple de code comme indiqué:

nécessitent 'nokogiri'
sample_data = fichier.ouvert ('échantillon.xml ')
parsed_info = nokogiri :: xml (samptonnet_data)
met parsed_info

Recherche d'un document XML

Pour rechercher un document XML ou HTML chargé, nous pouvons utiliser la méthode XPATH.

Par exemple: dans l'exemple de fichier XML ci-dessus, pour obtenir toutes les valeurs, nous pouvons faire:

nécessitent 'nokogiri'
sample_data = fichier.ouvert ('échantillon.xml ')
parsed_info = nokogiri :: xml (samptonnet_data)
met parsed_info.xpath ("// valeur")

L'exemple de code ci-dessus doit renvoyer les valeurs avec le mot clé de la valeur.

Obtenez un article individuel

Nous pouvons également obtenir la valeur d'un élément individuel. Par exemple: pour obtenir le document, saisissez l'exemple de fichier XML ci-dessus:

nécessitent 'nokogiri'
sample_data = fichier.ouvert ('échantillon.xml ')
parsed_info = nokogiri :: xml (samptonnet_data)
met parsed_info.xpath ("/ * / @ document_type")

Le code doit renvoyer la valeur du document_type.

Convertir XML en HTML

Vous pouvez également convertir un document XML analysé en HTML en utilisant la méthode TO_HTML. Voici un exemple de code:

nécessitent 'nokogiri'
sample_data = fichier.ouvert ('échantillon.xml ')
parsed_info = nokogiri :: xml (samptonnet_data)
zéro = parsed_info.to_html
met zéro

Cela devrait renvoyer les données XML à HTML sous la forme d'une chaîne.

Conclusion

Ce court tutoriel vous a montré comment analyser les documents XML à l'aide du package NoKogiri. Reportez-vous à la documentation pour découvrir ses capacités complètes.