Come analizzare XML in Ruby

Come analizzare XML in Ruby
I documenti XML e HTML sono una tecnologia diffusa che alimenta la moderna Internet. Quasi ogni pagina Web su Internet utilizza almeno una singola formattazione HTML. Questa guida rapida discuterà di come analizzare i documenti XML e HTML in Ruby usando il popolare pacchetto Nokogiri.

Quali sono i documenti XML e HTML?

I documenti HTML sono qualsiasi documento che contiene la lingua dei marchi ipertestuali, che è il formato di base utilizzato per descrivere la struttura dei documenti visualizzati sul Web.

Allo stesso modo, i documenti XML sono documenti che contengono markup XML. Secondo la documentazione ufficiale, XML o la lingua di markup estensibile è un linguaggio di markup che definisce le regole per la codifica documenti per la leggibilità sia umana che macchina.

I documenti HTML e XML terminano .html e .XML, rispettivamente.

Installazione

Prima di poter elaborare qualsiasi documento XML o HTML in Ruby, dobbiamo installare la libreria di parser XML/HTML. In questo esempio, useremo la libreria Nokogiri.

Per installarlo, utilizzare il comando GEM Package Manager:

$ gem Installa Nokogiri
Fetching Nokogiri-1.12.0-X86_64-Linux.gemma
Nokogiri-1 installato con successo.12.0-X86_64-Linux
Documentazione di analisi per Nokogiri-1.12.0-X86_64-Linux
Installazione della documentazione RI per Nokogiri-1.12.0-X86_64-Linux
Fatto l'installazione della documentazione per Nokogiri dopo 1 secondi
1 gemma installata

Una volta installato, è possibile testarlo avviando la shell interattiva Ruby con il comando IRB.
Successivamente, importa il pacchetto come:

Richiedi 'Nokogiri'
=> vero

Caricamento di documenti HTML/XML

Per caricare i documenti HTML o XML utilizzando la libreria Nokogiri, si utilizza l'operatore di risoluzione dello spazio dei nomi Ruby e accedi al caricatore, HTML o XML.

Ad esempio: per caricare HTML, utilizzare:

Richiedi 'Nokogiri'
html_data = Nokogiri :: html ('






Documento



<')
mette html_data.classe

Il codice di esempio deve caricare il contenuto di HTML e salvarlo nella variabile definita. Per controllare la classe di origine dei dati, utilizziamo il .Metodo di classe.

Il codice dovrebbe visualizzare l'output come:

Nokogiri :: Html4 :: Documento

Caricamento dal file

Possiamo anche caricare i dati da un file HTML/XML. Considera un file di esempio con il contenuto XML come:

Per caricare il file XML con Nokogiri, è possibile utilizzare il codice di esempio come mostrato:

Richiedi 'Nokogiri'
Sample_Data = File.aperto ('campione.XML ')
parsed_info = Nokogiri :: xml (sample_data)
mette parsed_info

Cerca un documento XML

Per cercare un documento XML o HTML caricato, possiamo utilizzare il metodo XPath.

Ad esempio: nel file XML di esempio sopra, per ottenere tutti i valori, possiamo fare:

Richiedi 'Nokogiri'
Sample_Data = File.aperto ('campione.XML ')
parsed_info = Nokogiri :: xml (sample_data)
mette parsed_info.XPath ("// Value")

Il codice di esempio sopra deve restituire i valori con la parola chiave del valore.

Ottieni l'oggetto individuale

Possiamo anche ottenere il valore di un singolo elemento. Ad esempio: per ottenere il documento, digita il file XML di esempio sopra:

Richiedi 'Nokogiri'
Sample_Data = File.aperto ('campione.XML ')
parsed_info = Nokogiri :: xml (sample_data)
mette parsed_info.XPath ("/*/@document_type")

Il codice dovrebbe restituire il valore da document_type.

Converti XML in HTML

È inoltre possibile convertire un documento XML analizzato in HTML utilizzando il metodo TO_HTML. Ecco un codice di esempio:

Richiedi 'Nokogiri'
Sample_Data = File.aperto ('campione.XML ')
parsed_info = Nokogiri :: xml (sample_data)
zero = parsed_info.to_html
mette zero

Questo dovrebbe restituire i dati XML su HTML sotto forma di una stringa.

Conclusione

Questo breve tutorial ti ha mostrato come analizzare i documenti XML utilizzando il pacchetto Nokogiri. Fare riferimento alla documentazione per scoprire le sue capacità complete.