Bonjour,
Je dois convertir un objet XmlDocument en String. Pour cela, j'utilise le code suivant :

Remplissage du XmlDocument :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
document = new XmlDocument();
 
XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "UTF-8", "");
 
XmlElement eRoot = document.CreateElement(XT_ROOT_NODE);
 
XmlElement eType = document.CreateElement(XT_MESSAGE_TYPE);
eType.InnerText = MT_REQUEST;
eRoot.AppendChild(eType);
 
//... Ca continue
Passage du XmlDocument à une String :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
public String convertToXml()
        {
            StringWriter sw = new StringWriter();
            XmlTextWriter xw = new XmlTextWriter(sw);
            document.WriteTo(xw); // document est un XmlDocument
            return sw.ToString();
        }
Le problème, c'est que la déclaration obtenue est ainsi :
<?xml version=1.0 encoding=UTF-8?>

Alors qu'il faudrait qu'elle soit ainsi :
<?xml version='1.0' encoding='UTF-8'?> (avec quotes) pour être valide.

Que dois-je faire pour obtenir une déclaration valide ?

Note : je n'ai pas inclus d'attribut dans mon xml, donc je ne sais pas si on rencontre le même problème dans ce cas.

Merci d'avance