Clear all content in XmlTextWriter and StringWriter

7.1k Views Asked by At

I want to clear all of content in XmlTextWriter and StringWriter. Flush() didn't work out.

XmlDocument doc = new XmlDocument(); StringWriter sw = new StringWriter(); XmlTextWriter xw = new XmlTextWriter(sw);

xw.WriteStartElement("AddPhoneQual"); xw.WriteElementString("Type", "B"); xw.WriteElementString("PhoneNumber", bookingDetails.PassengerList[0].PhoneNumber); xw.WriteEndElement(); // End AddPhoneQual

doc.LoadXml(sw.ToString());

Now, i need to clear all of content and start to write in clear xw.

xw.Flush(); sw.Flush();

They didn't work.

1

There are 1 best solutions below

3
On

You'd think there would be an intuitive way to do this, but....

A solution I found suggests the following:

// make a StringWriter, and fill it with junk
StringWriter sw = new StringWriter();
sw.Write("Don't want to see this");

// and HERE IS THE MAGIC
StringBuilder sb = sw.GetStringBuilder();
sb.Remove(0, sb.Length);

// your StringWriter is now empty!

This worked for me (in the same situation as you -- using an XmlTextWriter that dumps to the StringWriter).

Perhaps somebody has an intuitive answer for why nothing like this is built-in.