Curriculum
StringWriter is a class in C# that allows you to write formatted text to a string buffer. It is useful when you need to generate formatted text that is not going to be written to a file or a network socket, but rather stored in memory.
Here’s an example of using StringWriter to generate an XML document as a string:
using System; using System.Xml; class Program { static void Main(string[] args) { // Create a StringWriter object StringWriter stringWriter = new StringWriter(); // Create an XmlWriter object that writes to the StringWriter XmlWriter xmlWriter = XmlWriter.Create(stringWriter); // Generate an XML document using the XmlWriter xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement("root"); xmlWriter.WriteElementString("item", "value"); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); // Get the generated XML document as a string string xml = stringWriter.ToString(); // Display the generated XML document Console.WriteLine(xml); } }
In this example, we first create a StringWriter
object to write the formatted text to. We then create an XmlWriter
object that writes to the StringWriter
. We use the XmlWriter
to generate an XML document that consists of a root element with a child element named “item” and the value “value”. Finally, we get the generated XML document as a string by calling the ToString
method of the StringWriter
.
It’s important to note that StringWriter can be used with any class that implements the TextWriter
abstract class, allowing you to generate formatted text in various formats such as CSV or JSON. Additionally, you should always dispose of the StringWriter
object once you’re finished using it, which is achieved by calling the Dispose
method or wrapping it in a using
statement.