Bonjour,
J'ai un parseur SAX qui me pose quelques problèmes.
Sur une machine X pas de problème, en revanche si je passe sur la machine Y,
il ne récupère pas tout le contenu contenu entre les balises.
ex:
Le parseur en va ressortir que "sport" par exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <chaine>Eurosport</chaine>
Une solution, que j'avais envisagé était de changer le parseur, j'utilise depuis Xerces que j'appelle de la manière suivante
Mais en passant à une machine Z ça marchait plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(System.getProperty("org.xml.sax.driver")==null) System.setProperty("org.xml.sax.driver", "org.apache.xerces.parsers.SAXParser");![]()
Alors dernière technique mise en place, lors de l'appel à la fonction characters
je rajoute une petite partie de code pour reconstitué le texte
Et là ça fonctionne, mais j'ai pas envie de devoir faire ça pour toutes les balises que je dois traiter (une cinquantaine).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public void characters(char[] chars, int start, int len)throws SAXException { _tmpString = new String(chars, start, len); if(balise.equalsIgnoreCase("chaine")) { baliseTemp += _tmpString; } if(_display) { System.out.println(_tmpString); _display = false; } }
Y-a-til un moyen d'être sur que j'utilise Xerces comme parseur ?
Y-a-t il une autre solution à ce problème ?
Merci
Partager