清除XmlTextWriter和StringWriter中的所有内容

sde*_*goz 10 c# xmltextwriter stringwriter

我想清除XmlTextWriter和StringWriter中的所有内容.Flush()没有成功.

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(); //结束AddPhoneQual

doc.LoadXml(sw.ToString());

现在,我需要清除所有内容并开始用清晰的xw编写.

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

他们没有工作.

Mic*_*nis 12

你认为会有一种直观的方法来做到这一点,但....

我找到解决方案建议如下:

' 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!
Run Code Online (Sandbox Code Playgroud)

这对我有用(与你的情况相同 - 使用XmlTextWriter转储StringWriter).

也许某人有一个直观的答案,为什么没有这样的内置.

  • 或者你可以做sw.GetStringBuilder().Clear(); (6认同)