J'utilise XmlTextWriter
et sa méthode WriteElementString
, par exemple:C#: XmlTextWriter.WriteElementString échoue sur les chaînes vides?
XmlTextWriter writer = new XmlTextWriter("filename.xml", null);
writer.WriteStartElement("User");
writer.WriteElementString("Username", inputUserName);
writer.WriteElementString("Email", inputEmail);
writer.WriteEndElement();
writer.Close();
La sortie XML attendu est:
<User>
<Username>value</Username>
<Email>value</Email>
</User>
Cependant, si par exemple inputEmail est vide, le XML résultat je reçois comme comme suit:
<User>
<Username>value</Username>
<Email/>
</User>
Alors que je pense que ce soit:
<User>
<Username>value</Username>
<Email></Email>
</User>
Qu'est-ce que je fais mal? Existe-t-il un moyen d'atteindre mon résultat escompté de manière simple en utilisant XmlTextWriter
?
cette solution ne fonctionne pas à mon extrémité étrangement –
J'ai utilisé exactement la même solution que vous avez fournie, et la méthode WriteFullEndElement() ne semble pas fonctionner ... Methinks cette méthode est défectueuse. –
J'ai trouvé une solution de contournement en C#. Si le (string.Length == 0), remplacez la chaîne vide par un caractère d'échappement de nouvelle ligne, c'est-à-dire "\ n" –