Cómo analizar XML en Ruby

Cómo analizar XML en Ruby
Los documentos XML y HTML son una tecnología generalizada que alimenta el Internet moderno. Casi todas las páginas web de Internet usan al menos un solo formato HTML. Esta guía rápida discutirá cómo analizar los documentos XML y HTML en Ruby utilizando el popular paquete Nokogiri.

¿Qué son los documentos XML y HTML??

Los documentos HTML son cualquier documento que contenga lenguaje de marca de hipertexto, que es el formato básico utilizado para describir la estructura de los documentos que se muestran en la web.

Del mismo modo, los documentos XML son documentos que contienen marcado XML. Según la documentación oficial, XML o lenguaje de marcado extensible es un lenguaje de marcado que define las reglas para codificar documentos para la legibilidad humana y máquina.

Los documentos HTML y XML terminan en .html y .XML, respectivamente.

Instalación

Antes de que podamos procesar cualquier documento XML o HTML en Ruby, necesitamos instalar la biblioteca de analizador XML/HTML. En este ejemplo, usaremos la biblioteca Nokogiri.

Para instalarlo, use el comando GEM PACKET Manager:

$ gema instalación nokogiri
Obtención de nokogiri-1.12.0-x86_64-linux.joya
Instalado con éxito nokogiri-1.12.0-x86_64-linux
Analización de documentación para Nokogiri-1.12.0-x86_64-linux
Instalación de la documentación RI para Nokogiri-1.12.0-x86_64-linux
Terminado de instalar documentación para Nokogiri después de 1 segundo
1 gema instalada

Una vez instalado, puede probarlo iniciando el shell interactivo Ruby con el comando IRB.
A continuación, importe el paquete como:

requiere 'nokogiri'
=> verdadero

Carga de documentos HTML/XML

Para cargar documentos HTML o XML utilizando la biblioteca Nokogiri, utiliza el operador de resolución de espacio de nombres de Ruby y accede al cargador, ya sea HTML o XML.

Por ejemplo: para cargar HTML, use:

requiere 'nokogiri'
html_data = nokogiri :: html ('






Documento



<')
pone html_data.clase

El código de ejemplo debe cargar el contenido HTML y guardarlos en la variable definida. Para verificar la clase fuente de los datos, usamos el .Método de clase.

El código debe mostrar la salida como:

Nokogiri :: html4 :: documento

Cargando desde el archivo

También podemos cargar los datos de un archivo HTML/XML. Considere un archivo de muestra con el contenido XML como:

Para cargar el archivo XML con Nokogiri, puede usar el código de ejemplo como se muestra:

requiere 'nokogiri'
sample_data = archivo.Abrir ('muestra.xml ')
parsed_info = nokogiri :: xml (sample_data)
pone parsed_info

Buscando un documento XML

Para buscar un documento XML o HTML cargado, podemos usar el método XPath.

Por ejemplo: en el archivo XML de muestra anterior, para obtener todos los valores, podemos hacer:

requiere 'nokogiri'
sample_data = archivo.Abrir ('muestra.xml ')
parsed_info = nokogiri :: xml (sample_data)
pone parsed_info.xpath ("// valor")

El código de muestra anterior debe devolver los valores con la palabra clave de valor.

Obtener un artículo individual

También podemos obtener el valor de un artículo individual. Por ejemplo: para obtener el documento, escriba el archivo XML de ejemplo anterior:

requiere 'nokogiri'
sample_data = archivo.Abrir ('muestra.xml ')
parsed_info = nokogiri :: xml (sample_data)
pone parsed_info.xpath ("/*/@document_type")

El código debe devolver el valor del document_type.

Convertir xml a html

También puede convertir un documento XML analizado a HTML utilizando el método To_html. Aquí hay un código de ejemplo:

requiere 'nokogiri'
sample_data = archivo.Abrir ('muestra.xml ')
parsed_info = nokogiri :: xml (sample_data)
cero = parsed_info.to_html
Pone cero

Esto debería devolver los datos XML a HTML en forma de una cadena.

Conclusión

Este breve tutorial le ha mostrado cómo analizar los documentos XML utilizando el paquete Nokogiri. Consulte la documentación para descubrir sus capacidades completas.