TsCyrille Posté(e) 11 octobre 2010 Share Posté(e) 11 octobre 2010 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 22 octobre 2010 Share Posté(e) 22 octobre 2010 tu es bien sur que l'encodage utilisé (ISO_8859_15) est bien le même lors de l'envoi et de la réception? tu as un message d'erreur via logcat? Lien vers le commentaire Partager sur d’autres sites More sharing options...
neoakira Posté(e) 4 novembre 2010 Share Posté(e) 4 novembre 2010 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é Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arzbro Posté(e) 9 décembre 2010 Share Posté(e) 9 décembre 2010 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.