Exemple parseur dom

Contenu du snippet

Plus paratique que je croyais, voilà un exemple indicant comment parsé un fichier XML avec DOM
Vraiment pratique ont peut aller directement sur n'inmporte quel niveau de l'arboréssance en donnant le tag de la balise

Source / Exemple :


########################" Lefichier xml
<?xml version="1.0" encoding="ISO-8859-15"?>
<diplomes>
	<licence>
		<semestre>
			<parcours id="Info" name="informatique"/>
			<parcours id="ModSim" name="Modélisation et simulation"/>	
			<parcours id="Miage" name="Economie"/>
			<parcours id="Ma" name="Mathematiques"/>
			<parcours id="Ts" name="Techniques Statistiques"/>
			<parcours id="Pluri" name="Pluridisciplinaire"/>
		</semestre>
	</licence>
</diplomes>

#########################" et puis le parseur

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.*;

import  org.w3c.dom.*;

	public class Parseur {

		
		private DocumentBuilderFactory factory;
		private DocumentBuilder builder;
		private Document doc;
		private Element nroot;
		int nbparcours;
		
		/**

  • @param path path of XML file
  • @throws Exception
  • /
public Parseur(String path) { //Chargement du document try{ factory = DocumentBuilderFactory.newInstance(); builder = factory.newDocumentBuilder(); doc = builder.parse(new File("licence.xml")); this.nroot = doc.getDocumentElement(); } catch(Exception e){ e.printStackTrace(); } } /**
  • retourne une liste contenant les id des balise
    • /
public List getParcoursName(){ // Parcour du document NodeList listeparcours = this.nroot.getElementsByTagName("parcours"); List<String> lparcoursid = new ArrayList<String>(); this.nbparcours=listeparcours.getLength(); for(int i=0; i<this.nbparcours; i++){ Element e = (Element)listeparcours.item(i); //System.out.println(e.getAttribute("name")+"\t"+e.getAttribute("id")); lparcoursid.add(e.getAttribute("id")); } return lparcoursid; } /**
  • This method must return a number of 'parcour'
  • @return int
  • /
private int getNbparcours(){ return this.nbparcours; }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.