Ich XmlTextWriter
und seine WriteElementString
Verfahren, zum Beispiel mit:C#: XmlTextWriter.WriteElementString schlägt bei leeren Zeichenfolgen fehl?
XmlTextWriter writer = new XmlTextWriter("filename.xml", null);
writer.WriteStartElement("User");
writer.WriteElementString("Username", inputUserName);
writer.WriteElementString("Email", inputEmail);
writer.WriteEndElement();
writer.Close();
Die erwartete XML-Ausgabe ist:
<User>
<Username>value</Username>
<Email>value</Email>
</User>
Wenn jedoch zum Beispiel inputEmail leer ist, bekommen das Ergebnis XML ich als wie folgt:
<User>
<Username>value</Username>
<Email/>
</User>
während ich würde erwarten, dass es sein:
<User>
<Username>value</Username>
<Email></Email>
</User>
Was mache ich falsch? Gibt es eine Möglichkeit, mein erwartetes Ergebnis auf einfache Weise mit XmlTextWriter
zu erreichen?
diese Lösung funktioniert nicht an meinem Ende seltsam –
Ich verwendete genau die gleiche Lösung, die Sie zur Verfügung gestellt, und die WriteFullEndElement() -Methode scheint nicht zu funktionieren ... Ich denke, diese Methode ist fehlerhaft. –
Ich habe einen Workaround in C# gefunden. Wenn die (string.Length == 0), dann ersetzen Sie die leere Zeichenfolge durch ein Newline-Escape-Zeichen, dh "\ n" –