11

我想清除 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());

现在,我需要清除所有内容并开始用 clear xw 书写。

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

他们没有工作。

4

1 回答 1

14

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

我发现的一个解决方案建议如下:

// 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!

这对我有用(在与您相同的情况下 - 使用XmlTextWriter转储到StringWriter)。

也许有人对为什么没有内置这样的东西有一个直观的答案。

于 2012-12-04T15:47:48.513 回答