Mauvaise récupération du contenu des balises
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:
Code:
<chaine>Eurosport</chaine>
Le parseur en va ressortir que "sport" par exemple.
Une solution, que j'avais envisagé était de changer le parseur, j'utilise depuis Xerces que j'appelle de la manière suivante
Code:
1 2
| if(System.getProperty("org.xml.sax.driver")==null)
System.setProperty("org.xml.sax.driver", "org.apache.xerces.parsers.SAXParser"); |
Mais en passant à une machine Z ça marchait plus :cry:
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
Code:
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;
}
} |
Et là ça fonctionne, mais j'ai pas envie de devoir faire ça pour toutes les balises que je dois traiter (une cinquantaine).
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