3. Leggere XML in Java con DOM parser

Leggere XML con il parser DOM

Vediamo come creare un metodo che legga un file XML in Java, utilizzando DOM parser. Se non l’hai fatto vedi anche come creare un metodo per aprire un file XML in Java e come salvare il file XML.

Nel codice di esempio sotto, si presume che l’utente sia già a conoscenza della struttura del file XML e dei suoi nodi e attributi.

Quindi l’esempio inizia direttamente a recuperare le informazioni e inizia a stamparle nella console. Ovviamente nelle applicazioni web, utilizzeremo queste informazioni per uno scopo reale piuttosto che stamparle su console e basta.

Supponiamo di avere il seguente file XML. Vediamo come leggere questo file XML con Java utilizzando il parser DOM.

XML esempio

Se non ho già aperto il file con un metodo apposito ecco le operazioni passo passo da fare:

1.1 Importa pacchetti parser dom

Dovremo prima importare i pacchetti del parser dom nella nostra applicazione.

import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;

1.2 Crea DocumentBuilder

Il passaggio successivo consiste nel creare l’oggetto DocumentBuilder.

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();

1.3 Crea oggetto Documento tramite parser dell’ XML

Cosi siamo in grado di leggere il file XML come object Document.di Java.

String xmlpath = "./cartella/file.xml";
File xmlFile = new File(xmlpath);
Document doc = dBuilder.parse(xmlFile);

Lettura del file XML: Appuntarsi i vari elementi in variabili

2.0 Ottieni la root

Possiamo ottenere l’elemento radice dal documento XML utilizzando il codice sottostante.

Element root = document.getDocumentElement();

2.1 Esamina gli attributi

Possiamo esaminare gli attributi dell’elemento xml utilizzando i metodi seguenti.

//ritorna un attributo specifico
element.getAttribute("attributeName");
//ritorna una Map (table) di nomi/values
element.getAttributes(); 

2.2 Esamina gli elementi e sottoelementi

Gli elementi figlio possono essere richiesti nel modo seguente.

//ritorna una lista di sottoelementi con un nome specifico
node.getElementsByTagName("subElementName");
//ritorna una lista di tutti i child nodes
node.getChildNodes();   

Nel prossimo articolo modificheremo questi elementi che ci siamo appuntati. Vedi come Modificare elementi e nodi ad un XML in Java parser DOM.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *