2010-10-03 2 views
0

En référence à cette question Java: splitting up a large XML file with SAXParser Je lis essentiellement dans un fichier xml en utilisant SAXParser et je l'envoie en écho à un autre fichier. Mon problème est que le contenu de mon fichier d'entrée contient des références de caractères qui sont décodées lors de la lecture. Comment puis-je arrêter cela? Je veux écrire les caractères bruts sans décoder les références.Java: décodage de référence de caractères SAXParser

(je ne peux pas donner un exemple car ils sont décodés dans la page!)

Répondre

1

Je ne pense pas que vous pouvez le faire avec SAX. Toutefois, vous pouvez indiquer à l'analyseur StAX (par opposition à SAX) de ne pas décoder les entités de caractères lors de l'analyse (see this prior answer). Vous devriez pouvoir les répercuter sur la sortie dans le même format que celui dans lequel l'analyseur les lit.

StAX devrait fonctionner aussi bien que SAX.

1

de XMLWriter classdom4j va réencoder ces caractères. Par exemple, ce code:

XMLWriter writer = new XMLWriter(System.out); 
writer.startElement(null, null, "example", new AttributesImpl()); 
writer.write(">"); 
writer.endElement(null, null, "example"); 
writer.flush(); 

produira cette sortie:

<example>&gt;</example> 
Questions connexes