Aller au contenu

Probleme lecture fichier XML contenant le caractère '&'


Recommended Posts

Posté(e)

Bonjour

Je traite un fichier XML de la manière suivante (je récupère le XML d'un WebService et je le mets dans une 'String') :

    public DocXml(String asXML) throws ParserConfigurationException, SAXException, IOException{
       factory = DocumentBuilderFactory.newInstance();
       builder = factory.newDocumentBuilder();
       document = (Document)builder.parse(new ByteArrayInputStream(asXML.getBytes("ISO_8859_15")));
   }

Tout est OK mais je rencontre un souci si l'une des valeurs d'un tag de mon fichier XML contient le caractère '&' (cad le code '&') : la valeur récupérée n'est pas complète (en fait la récupération de la valeur s'arrête au caractère '&'...)

Est-ce que quelqu'un a déjà rencontré ce problème ?

Merci d'avance

  • 2 weeks later...
  • 2 weeks later...
Posté(e)

faut que tu concatènes ce que tu récupère dans la méthode characters() du handler tant que tu est dans la même balise XML, donc faut gérer un historique des balise durant le parsage...

c'est le workaround que j'ai utilisé

  • 1 month later...
Posté(e)

Bonjour, le soucis, c'est que '&' est un caractère de contrôle pour XML, il permet de définir des entitées (&, < > , ...).

Ton parser s'arrête donc au '&' parce qu'il ne comprend pas ce qui lui tombe dessus...

Il faudrait que tu arrives à remplacer les '&' par des '&' avant la transformation de ton flux en XML.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...