Prb avec la lecture Xml et les accents [Résolu]

DarkTiteuf 85 Messages postés dimanche 14 novembre 2004Date d'inscription 27 juillet 2006 Dernière intervention - 6 mai 2006 à 00:39 - Dernière réponse : DarkTiteuf 85 Messages postés dimanche 14 novembre 2004Date d'inscription 27 juillet 2006 Dernière intervention
- 6 mai 2006 à 10:48
Voila, ma génération plante dès que j'ai un accent dans une balise ou un accent dans un attribut de cette balise. Comment je peux faire ? Y a t-il une propriété à mettre sur mon XmlDocument pour qu'il prenne les accents ?

Merci d'avance.
Afficher la suite 

7 réponses

Répondre au sujet
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 6 mai 2006 à 10:44
+3
Utile
Je pense que ça vient du header de ton fichier xml.
Mets comme première ligne, ceci : <?xml version ="1.0" encoding="iso-8859-1"?>


<HR>

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever /infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319 /auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Bidou
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 6 mai 2006 à 09:23
0
Utile
Hello,
C'est fort possible que l'encoding de ton fichier ne soit pas correct.
De quelle manière lis-tu le fichier Xml ?

Si tu utilises par exemple un XmlWriter, tu peux le créer en spécifiant l'encoding à utiliser. Petit exemple qui devrait marcher si tu as de l'accentuation :


XmlWriter tW =
new XmlTextWriter(tempFileName,
Encoding.GetEncoding(
"iso-8859-1")


<HR>

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever /infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319 /auteurdetail.aspx?ID=13319/auteurdetail.aspx?ID=13319
Commenter la réponse de cs_Bidou
DarkTiteuf 85 Messages postés dimanche 14 novembre 2004Date d'inscription 27 juillet 2006 Dernière intervention - 6 mai 2006 à 09:45
0
Utile
^^, oui pour la parenthèse ^^

Non moi j'ouvre mon fichier xml de la façon suivante :

XmlDocument doc_xml = new XmlDocument;
doc_xml.load("donnees.xml");
Commenter la réponse de DarkTiteuf
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 6 mai 2006 à 10:12
Commenter la réponse de cs_Bidou
DarkTiteuf 85 Messages postés dimanche 14 novembre 2004Date d'inscription 27 juillet 2006 Dernière intervention - 6 mai 2006 à 10:28
0
Utile
oui quand je paralis de génération, c`était pour la génération de la solution ^^.
L'erreur se produit au moment où je lis la ligne où il y a un accent :

XmlDocument doc_xml = new XmlDocument();
XmlNode noeud_donnees, noeud_contacts;
XmlAttribute attribut_pseudo_contact;

doc_xml = ouvrir_xml(url_du_doc_xml);
noeud_donnees = doc_xml.SelectSingleNode("donnees");
noeud_contacts = noeud_donnees.SelectSingleNode("contacts");

foreach (XmlNode noeud_contact in noeud_contacts.SelectNodes("contact"))
{
Console.wrtieLine(noeud_contact.Attributes["pseudo"].Value);
}

C'est sur la ligne en rouge qu'il fit une XMLExecption. Quand je remplace le mot avec accent par un sans accent ca marche tout.
Commenter la réponse de DarkTiteuf
DarkTiteuf 85 Messages postés dimanche 14 novembre 2004Date d'inscription 27 juillet 2006 Dernière intervention - 6 mai 2006 à 10:48
0
Utile
ok nickel en fait j'avais oublié une lettre à iso :
<?xml version ="1.0" encoding="io-8859-1"?>

Merci bcp
Commenter la réponse de DarkTiteuf

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.