XmlTextWriter::WriteEndElement Method ()


Closes one element and pops the corresponding namespace scope.

Namespace:   System.Xml
Assembly:  System.Xml (in System.Xml.dll)

virtual void WriteEndElement() override


Starting with the .NET Framework 2.0, we recommend that you create XmlWriter instances by using the XmlWriter::Create method and the XmlWriterSettings class to take advantage of new functionality.

If the element contains no content a short end tag "/>" is written; otherwise a full end tag is written.

The following example writes an XML file representing a book.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
   XmlTextWriter^ writer = nullptr;
   String^ filename = "sampledata.xml";
   writer = gcnew XmlTextWriter( filename, nullptr );

   //Use indenting for readability.
   writer->Formatting = Formatting::Indented;

   //Write the XML delcaration 

   //Write the ProcessingInstruction node.
   String^ PItext = "type=\"text/xsl\" href=\"book.xsl\"";
   writer->WriteProcessingInstruction( "xml-stylesheet", PItext );

   //Write the DocumentType node.
   writer->WriteDocType( "book", nullptr, nullptr, "<!ENTITY h \"hardcover\">" );

   //Write a Comment node.
   writer->WriteComment( "sample XML" );

   //Write the root element.
   writer->WriteStartElement( "book" );

   //Write the genre attribute.
   writer->WriteAttributeString( "genre", "novel" );

   //Write the ISBN attribute.
   writer->WriteAttributeString( "ISBN", "1-8630-014" );

   //Write the title.
   writer->WriteElementString( "title", "The Handmaid's Tale" );

   //Write the style element.
   writer->WriteStartElement( "style" );
   writer->WriteEntityRef( "h" );

   //Write the price.
   writer->WriteElementString( "price", "19.95" );

   //Write CDATA.
   writer->WriteCData( "Prices 15% off!!" );

   //Write the close tag for the root element.

   //Write the XML to file and close the writer.

   //Load the file into an XmlDocument to ensure well formed XML.
   XmlDocument^ doc = gcnew XmlDocument;

   //Preserve white space for readability.
   doc->PreserveWhitespace = true;

   //Load the file.
   doc->Load( filename );

   //Display the XML content to the console.
   Console::Write( doc->InnerXml );

.NET Framework
Available since 1.1
Return to top