O que são documentos XML e HTML?
Os documentos HTML são qualquer documento que contenha linguagem de marca de hipertexto, que é o formato básico usado para descrever a estrutura dos documentos exibidos na web.
Da mesma forma, os documentos XML são documentos que contêm marcação XML. De acordo com a documentação oficial, XML ou linguagem de marcação extensível é uma linguagem de marcação que define as regras para codificar documentos para a legibilidade humana e a máquina.
Os documentos HTML e XML terminam em .html e .XML, respectivamente.
Instalação
Antes de podermos processar qualquer documentos XML ou HTML em Ruby, precisamos instalar a biblioteca XML/HTML. Neste exemplo, usaremos a biblioteca Nokogiri.
Para instalá -lo, use o comando GEM Package Manager:
$ gem install nokogiri
Buscando Nokogiri-1.12.0-X86_64-Linux.gema
Instalado com sucesso nokogiri-1.12.0-X86_64-Linux
Documentação de análise para Nokogiri-1.12.0-X86_64-Linux
Instalando a documentação do RI para Nokogiri-1.12.0-X86_64-Linux
Feito de instalação de documentação para Nokogiri após 1 segundos
1 Gem instalado
Depois de instalado, você pode testá -lo lançando o shell interativo Ruby com o comando IRB.
Em seguida, importe o pacote como:
requer 'nokogiri'
=> true
Carregando documentos HTML/XML
Para carregar documentos HTML ou XML usando a biblioteca Nokogiri, você usa o operador de resolução de namespace rubi e acesse o carregador, o HTML ou o XML.
Por exemplo: para carregar html, use:
requer 'nokogiri'
html_data = nokogiri :: html ('
Documento
<')
coloca html_data.aula
O código de exemplo deve carregar o conteúdo HTML e salvá -los na variável definida. Para verificar a classe de origem dos dados, usamos o .Método de classe.
O código deve exibir a saída como:
Nokogiri :: html4 :: document
Carregando do arquivo
Também podemos carregar os dados de um arquivo html/xml. Considere um arquivo de amostra com o conteúdo XML como:
Para carregar o arquivo XML com Nokogiri, você pode usar o código de exemplo como mostrado:
requer 'nokogiri'
sample_data = arquivo.aberto ('amostra.xml ')
parsed_info = nokogiri :: xml (sample_data)
coloca parsed_info
Pesquisando um documento XML
Para pesquisar em um documento XML ou HTML carregado, podemos usar o método XPath.
Por exemplo: no arquivo XML de amostra acima, para obter todos os valores, podemos fazer:
requer 'nokogiri'
sample_data = arquivo.aberto ('amostra.xml ')
parsed_info = nokogiri :: xml (sample_data)
coloca parsed_info.xpath ("// valor")
O código de amostra acima deve retornar os valores com a palavra -chave Valor.
Obtenha um item individual
Também podemos obter o valor de um item individual. Por exemplo: para obter o documento, digite o exemplo do arquivo XML acima:
requer 'nokogiri'
sample_data = arquivo.aberto ('amostra.xml ')
parsed_info = nokogiri :: xml (sample_data)
coloca parsed_info.xpath ("/*/@document_type")
O código deve retornar o valor do document_type.
Converter xml em html
Você também pode converter um documento XML analisado em HTML usando o método TO_HTML. Aqui está um código de exemplo:
requer 'nokogiri'
sample_data = arquivo.aberto ('amostra.xml ')
parsed_info = nokogiri :: xml (sample_data)
zero = parsed_info.to_html
coloca zero
Isso deve retornar os dados XML ao HTML na forma de uma string.
Conclusão
Este curto tutorial mostrou como analisar documentos XML usando o pacote Nokogiri. Consulte a documentação para descobrir seus recursos completos.