XmlTextWriter.WriteChars Method
Writes text one buffer at a time.
Assembly: System.Xml (in System.Xml.dll)
Parameters
- buffer
- Type: System.Char[]
Character array containing the text to write.
- index
- Type: System.Int32
The position in the buffer indicating the start of the text to write.
- count
- Type: System.Int32
The number of characters to write.
| Exception | Condition |
|---|---|
| ArgumentNullException |
buffer is null. |
| ArgumentOutOfRangeException |
index or count is less than zero. -or- The buffer length minus index is less than count; the call results in surrogate pair characters being split or an invalid surrogate pair being written. |
| InvalidOperationException |
The WriteState is Closed. |
Note
|
|---|
|
In the .NET Framework version 2.0 release, the recommended practice is to create XmlWriter instances using the XmlWriter.Create method and the XmlWriterSettings class. This allows you to take full advantage of all the new features introduced in this release. For more information, see Creating XML Writers. |
This method can be used to write large amounts of text one buffer at a time.
Special handling must be done to ensure the WriteChars method does not split surrogate pair characters across multiple buffer writes. The XML specification defines the valid ranges for surrogate pairs.
An exception is thrown if surrogate pair characters are written that would result in the surrogate pair characters being split in the buffer.
using (XmlTextWriter writer = new XmlTextWriter(Console.Out)) { writer.WriteStartDocument(); char[] ch = new char[4]; ch[0] = 't'; ch[1] = 'e'; ch[2] = 'x'; ch[3] = 't'; writer.WriteStartElement("WriteCharacters"); writer.WriteChars(ch, 0, ch.Length); writer.WriteEndElement(); writer.WriteEndDocument(); }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note