Parsing XML et récupération des attributs en fichier texte
Bonjour,
Après le parsing de fichier XML, je souhaite récupérer les attributs d'une balise en fichier texte.
j'ai les 2 classes suivantes:
Code:
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
|
//classe qui exécute le parsing
class TrivialSAXRead {
public static final String FILE = "C:/file.xml";
public static void main(String [] args)
throws Exception
{
TrivialSAXHandler triv = new TrivialSAXHandler();
// Création de la fabrique de parsers
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
// Création du parser
SAXParser parser = parserFactory.newSAXParser();
parser.parse(FILE, new TrivialSAXHandler());
}
} |
Code:
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
|
class TrivialSAXHandler extends DefaultHandler {
FileWriter st1 = null;
BufferedWriter st2 = null;
public void setDocumentLocator(Locator locator) {
System.out.println("Location : " +
"publicId=" + locator.getPublicId() +
" systemId=" + locator.getSystemId());
}
public void startDocument() {
System.out.println("Debut du document");
}
public void endDocument() {
System.out.println("Fin du document");
}
public void startElement(String namespace,
String localname,
String qualname,
Attributes atts) {
st1 = new FileWriter("C:/file.txt");
st2 = new BufferedWriter(st1);
try
{
for (int index = 0; index < atts.getLength(); index++) {
client = atts.getValue("clientId");
item = atts.getValue("id");
session = atts.getValue("sessionId");
st2.write(client+";"+item +";"+session);
st2.newLine();
...............
}
} |
Quand j'exécute ce code, le fichier en output ne contient que la dernière ligne du fichier XML. j'écrase à chaque fois les infos d'avant.
A quel niveau je pourrais faire l'écriture de fichier txt? :roll:
Merci