19
août
2008
[C#] Spécifier ou changer l’encoding d’un XmlDocument
août
2008
Un article de nico-pyright(c)
1 Commentaire
On peut affecter un encoding à un XmlDocument de plusieurs facons.
La plus propre à mon avis est d’utiliser l’objet XmlDeclaration.
Voici comment faire :
Il faut en premier lieu déterminer si le XmlDocument contient déjà une XmlDeclaration et si c’est le cas, la modifier. Sinon, il faut en créer une :
//string xml = "<?xml version=\"1.0\" encoding=\"UTF-16\"?><truc><bidule/></truc>";
string xml = "<truc><bidule/></truc>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
if (doc.FirstChild.NodeType == XmlNodeType.XmlDeclaration)
{
XmlDeclaration dec = (XmlDeclaration)doc.FirstChild;
dec.Encoding = "UTF-8";
}
else
{
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", null, null);
xmlDeclaration.Encoding = "UTF-8";
XmlElement root = doc.DocumentElement;
doc.InsertBefore(xmlDeclaration, root);
}
string xml = "<truc><bidule/></truc>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
if (doc.FirstChild.NodeType == XmlNodeType.XmlDeclaration)
{
XmlDeclaration dec = (XmlDeclaration)doc.FirstChild;
dec.Encoding = "UTF-8";
}
else
{
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", null, null);
xmlDeclaration.Encoding = "UTF-8";
XmlElement root = doc.DocumentElement;
doc.InsertBefore(xmlDeclaration, root);
}
Voilà comment on pourrait faire pour spécifier l’encoding à UTF-8
1 Commentaire + Ajouter un commentaire
Commentaires récents
- [Tests] Arrange Act Assert, une traduction ? dans
- [UnitTest][C#] Tester une méthode privée dans
- Récupérer une valeur d’un contrôle depuis une autre Form / inclusions croisées et déclaration anticipée dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
Archives
- janvier 2013
- avril 2012
- janvier 2012
- juin 2011
- janvier 2011
- décembre 2010
- novembre 2010
- septembre 2010
- juin 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- mai 2009
- avril 2009
- mars 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007
Merci beaucoup pour ce petit bout de code.