This documentation is archived and is not being maintained.

Writing Elements 

The WriteElementString, WriteStartElement, and WriteNode methods can be used to write element nodes.


The WriteElementString is used to write an entire element node, including a string value. The following code writes out the <price>19.95</price> XML string.

writer.WriteElementString("price", "19.95");


WriteStartElement is a more advanced version of the WriteElementString method. It allows you to write the element value using multiple method calls. For example, you can call WriteValue to write a typed value, WriteCharEntity to write a character entity, WriteAttributeString to write an attribute, or you can write a child element.

The element is closed by calling the WriteEndElement or WriteFullEndElement method.

The following example writes two nested elements.

writer.WriteStartElement("bk", "book", "urn:books");
writer.WriteAttributeString("genre", "urn:books", "mystery");
writer.WriteElementString("price", "19.95");

The following XML node is written.

<bk:book bk:genre="mystery" xmlns:bk="urn:books">


The WriteNode method allows you to copy an entire element node found at the current position of the supplied XmlReader or XPathNavigator object. When called, it copies everything from the source object to the XmlWriter instance.

// Create a reader and position it on the book node.
XmlReader reader = XmlReader.Create("books.xml");

// Write out the book node.
XmlWriter writer = XmlWriter.Create("newBook.xml");
writer.WriteNode(reader, true);

The following XML file is created.

<?xml version="1.0" encoding="utf-8"?>
<book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
  <title>The Autobiography of Benjamin Franklin</title>

See Also