1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
public class listeRessourceHandler extends DefaultHandler {
//résultats de notre parsing
private List<listeRessource> version001;
private listeRessource listeRessource;
//flags nous indiquant la position du parseur
private boolean inVersion001, inListeRessource, inRessource, inIDUTSI, inNAME, inTRI, inCDSX;
//buffer nous permettant de récupérer les données
private StringBuffer buffer;
// simple constructeur
public listeRessourceHandler() {
super();
}
//détection d'ouverture de balise
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
if (qName.equals("verion001")) {
version001 = new LinkedList<listeRessource>();
inVersion001 = true;
} else if (qName.equals("listeRessource")) {
listeRessource = new listeRessource();
inListeRessource = true;
} else {
buffer = new StringBuffer();
if (qName.equals("NAME")) {
inNAME = true;
} else if (qName.equals("TRI")) {
inTRI = true;
} else if (qName.equals("CDSX")) {
inCDSX = true;
} else {
//erreur, on peut lever une exception
throw new SAXException("Balise " + qName + " inconnue.");
}
}
}
//détection fin de balise
public void endElement(String uri, String localName, String qName) throws SAXException {
if (qName.equals("version001")) {
inVersion001 = false;
} else if (qName.equals("listeRessource")) {
version001.add(listeRessource);
listeRessource = null;
inListeRessource = false;
} else if (qName.equals("NAME")) {
listeRessource.setNAME(buffer.toString());
buffer = null;
inNAME = false;
} else if (qName.equals("TRI")) {
listeRessource.setTRI(buffer.toString());
buffer = null;
inCIPER = false;
} else if (qName.equals("CDSX")) {
listeRessource.setCDSX(buffer.toString());
buffer = null;
inCDSX = false;
} else {
//erreur, on peut lever une exception
throw new SAXException("Balise " + qName + " inconnue.");
}
}
//détection de caractères
public void characters(char[] ch, int start, int length) throws SAXException {
String lecture = new String(ch, start, length);
if (buffer != null)
buffer.append(lecture);
}
//début du parsing
public void startDocument() throws SAXException {
System.out.println("Début du parsing");
}
//fin du parsing
public void endDocument() throws SAXException {
System.out.println("Fin du parsing");
System.out.println("Resultats du parsing");
for (liste6RESTRessource p : version001) {
System.out.println(p);
}
} |
Partager