 <pre><code>using (XmlWriter writer = new XmlTextWriter(stream) { writer.WriteStartElement("c1") writer.WriteString("") writer.WriteFullEndElement() } </code></pre> <p>EDIT: Here's testable code. It doesn't matter how you create the XmlWriter</p> <pre><code>public static void Main() { using (StringWriter sw = new StringWriter()) { using (XmlWriter xw = XmlWriter.Create(sw)) { xw.WriteStartElement("c1"); xw.WriteString(string.Empty); xw.WriteFullEndElement(); } Console.Write(sw.ToString()); // Prints &lt;c1&gt;&lt;/c1&gt; } } </code></pre> <p>What implementation of XmlWriter are you using?</p>