¿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.