Prb avec la lecture Xml et les accents

[Résolu]
Signaler
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006
-
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006
-
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.

7 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
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
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

^^, 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");
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

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.
Messages postés
85
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

ok nickel en fait j'avais oublié une lettre à iso :
<?xml version ="1.0" encoding="io-8859-1"?>

Merci bcp