Export (0) Print
Expand All

XmlTextWriter.WriteCData Method

Writes out a <![CDATA[...]]> block containing the specified text.

[Visual Basic]
Overrides Public Sub WriteCData( _
   ByVal text As String _
)
[C#]
public override void WriteCData(
 string text
);
[C++]
public: void WriteCData(
 String* text
);
[JScript]
public override function WriteCData(
   text : String
);

Parameters

text
Text to place inside the CDATA block.

Exceptions

Exception Type Condition
ArgumentException The text would result in a non-well formed XML document.
InvalidOperationException The WriteState is Closed.

Remarks

If text is either a null reference (Nothing in Visual Basic) or String.Empty, this method writes an empty CDATA block, for example <![CDATA[]]>.

Example

[Visual Basic, C#, C++] The following example writes an XML file representing a book.

[Visual Basic] 
Option Explicit
Option Strict

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
    Private Shared filename As String = "sampledata.xml"
    Public Shared Sub Main()
        Dim writer As XmlTextWriter = Nothing
        
        writer = New XmlTextWriter(filename, Nothing)
        'Use indenting for readability.
        writer.Formatting = Formatting.Indented
        
        'Write the XML delcaration. 
        writer.WriteStartDocument()
        
        'Write the ProcessingInstruction node.
        Dim PItext As String = "type='text/xsl' href='book.xsl'"
        writer.WriteProcessingInstruction("xml-stylesheet", PItext)
        
        'Write the DocumentType node.
        writer.WriteDocType("book", Nothing, Nothing, "<!ENTITY h 'hardcover'>")
        
        'Write a Comment node.
        writer.WriteComment("sample XML")
        
        'Write a 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")
        writer.WriteEndElement()
        
        'Write the price.
        writer.WriteElementString("price", "19.95")
        
        'Write CDATA.
        writer.WriteCData("Prices 15% off!!")
        
        'Write the close tag for the root element.
        writer.WriteEndElement()
        
        writer.WriteEndDocument()
        
        'Write the XML to file and close the writer.
        writer.Flush()
        writer.Close()
        
        'Load the file into an XmlDocument to ensure well formed XML.
        Dim doc As New 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)
    End Sub 'Main 
End Class 'Sample

[C#] 
using System;
using System.IO;
using System.Xml;

public class Sample
{
  private const string filename = "sampledata.xml";

  public static void Main()
  {
     XmlTextWriter writer = null;

     writer = new XmlTextWriter (filename, null);
     //Use indenting for readability.
     writer.Formatting = Formatting.Indented;

     //Write the XML delcaration. 
     writer.WriteStartDocument();

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

     //Write the DocumentType node.
     writer.WriteDocType("book", null , null, "<!ENTITY h 'hardcover'>");
        
     //Write a Comment node.
     writer.WriteComment("sample XML");
    
     //Write a 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");
     writer.WriteEndElement(); 

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

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

     //Write the close tag for the root element.
     writer.WriteEndElement();
             
     writer.WriteEndDocument();

     //Write the XML to file and close the writer.
     writer.Flush();
     writer.Close();  

     //Load the file into an XmlDocument to ensure well formed XML.
     XmlDocument doc = new 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);  

  }

}

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;

int main()
{
     XmlTextWriter* writer = 0;
     String* filename = S"sampledata.xml";

     writer = new XmlTextWriter (filename, 0);
     //Use indenting for readability.
     writer->Formatting = Formatting::Indented;

     //Write the XML delcaration. 
     writer->WriteStartDocument();

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

     //Write the DocumentType node.
     writer->WriteDocType(S"book", 0 , 0, S"<!ENTITY h 'hardcover'>");
        
     //Write a Comment node.
     writer->WriteComment(S"sample XML");
    
     //Write a root element.
     writer->WriteStartElement(S"book");

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

     //Write the title.
     writer->WriteElementString(S"title", S"The Handmaid's Tale");
              
     //Write the style element.
     writer->WriteStartElement(S"style");
     writer->WriteEntityRef(S"h");
     writer->WriteEndElement(); 

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

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

     //Write the close tag for the root element.
     writer->WriteEndElement();
             
     writer->WriteEndDocument();

     //Write the XML to file and close the writer.
     writer->Flush();
     writer->Close();  

     //Load the file into an XmlDocument to ensure well formed XML.
     XmlDocument* doc = new 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);  
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

XmlTextWriter Class | XmlTextWriter Members | System.Xml Namespace

Show:
© 2014 Microsoft