Bonjour,
Dans l'un de mes programmes, je dois parser des fichiers XML dont la taille peut être énorme (quelques GB).
Il est donc hors de question pour moi d'utiliser DOM qui il me semble, charge plus ou moins la structure du fichier XML en mémoire.
J'utilise donc SAX pour parser et traiter au fur et à mesure mes fichiers XML.
Seulement j'aimerai récupérer les informations qui se trouvent en dehors de l'arbre XML, c'est à dire <?xml ... > et le <!DOCTYPE .... >
J'ai lu que la fonction 'processingInstruction' est normalement chargée d'être appelée pour traité ce genre d'information, j'ai donc overwrite cette méthode dans mon Handler associé au parser.
Hors, si j'affiche une trace toute simple (via Log4j), je n'ai rien en sortie standard lorsque j'exécute mon programme (pourtant j'ai bien d'autres traces d'affichée qui prouve que le fichier est correctement parsé).
Sauriez-vous pourquoi cela ne fonctionne pas ?
Code simpliste :
S'il n'est plus possible d'utiliser cette méthode, en existe-t-il une autre ? (si oui il faudrait mettre à jour les FAQ et tutorial du site, sauf erreur de ma part)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public void processingInstruction(String target, String data) throws SAXException { System.out.println("Processing instruction : "+target+" / "+data); }
En vous remerciant d'avance pour votre aide.
Cdlt.
Partager