Parser DOM in Java: Xerces
Cominciamo ad utilizzare uno dei più famosi parser XML scritti per Java: Xerces.
Xerces è un parser XML scritto in Java dalla Apache Foundation. Xerces permette di effettuare parsing di documenti XML secondo le metodologie SAX e DOM. All’interno del package possiamo trovare infatti le due classi SAXParser e DOMParser che permettono di parsare documenti secondo le rispettive metodologie. Vediamo quindi un semplice esempio, utilizzando DOMParser
String xmlFile = "filedaparsare.xml"; DOMParser parser = new DOMParser(); try { parser.parse(xmlFile); Document document = parser.getDocument(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException ee) { ee.printStackTrace(); }
In questo modo abbiamo dentro la variabile document il nostro documento.Tutte le informazioni del file XML sono state mappate in memoria. Ora dobbiamo soltanto andarle a cercare esplorando l’albero che è stato generato. Per fare ciò dobbiamo pensare ad un metodo ricorsivo che esplora l’albero.
Di seguito trovate un esempio di metodo
private void leggi(Node node, int numLevelsDeep) { int type = node.getNodeType(); if (type == Node.ELEMENT_NODE) { System.out.print("\n"+node.getFirstChild().getNodeValue()); } NodeList children = node.getChildNodes(); if (children != null) { for (int i=0; i<children.getLength(); i++) { leggi(children.item(i), numLevelsDeep+1); } } }
In questo modo stampiamo i valori di tutti i nodi dell’albero. Chiaramente questo è un semplice esempio, ma le potenzialità di questo parser sono comunque già comprensibili.
Xerces supporta nella versione attuale la specifica XML 1.0, XML Schema, DOM2 e SAX2. Per ulteriori informazioni sono disponibili i seguenti link
http://xml.apache.org/dist/xerces-j/
http://xml.apache.org/xerces-j/
http://www.xml.com/pub/r/865