Bonjour,
Je dois convertir un objet XmlDocument en String. Pour cela, j'utilise le code suivant :
Remplissage du XmlDocument :
Passage du XmlDocument à une String :
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
Le problème, c'est que la déclaration obtenue est ainsi :
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(); }
<?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
Partager