IFragmentCapableXmlDictionaryWriter::WriteFragment Method (array<Byte>^, Int32, Int32)
.NET Framework (current version)
Writes an XML fragment to the underlying stream of the writer.
Assembly: System.Runtime.Serialization (in System.Runtime.Serialization.dll)
Parameters
- buffer
-
Type:
array<System::Byte>^
The buffer to write to.
- offset
-
Type:
System::Int32
The starting position from which to write in buffer.
- count
-
Type:
System::Int32
The number of bytes to be written to the buffer.
Writes a fragment captured between StartFragment and EndFragment and calls back into the XmlDictionaryWriter's main stream. The fragment written is count bytes starting at the index offset from the supplied buffer. The behavior is undefined if the supplied fragment was not captured using this writer instance.
MemoryStream stream = new MemoryStream();
MemoryStream fragmentStream = new MemoryStream();
XmlDictionaryWriter writer = XmlDictionaryWriter.CreateTextWriter(stream);
IXmlFragmentCapableXmlDictionaryWriter fragmentWriter = writer as IXmlFragmentCapableXmlDictionaryWriter;
if (fragmentWriter == null || !fragmentWriter.CanFragment)
{
Console.WriteLine("This writer doesn't support fragments");
return;
}
writer.WriteStartElement("Root");
fragmentWriter.StartFragment(fragmentStream, false);
writer.WriteStartElement("Body");
writer.WriteString("This is my body");
writer.WriteEndElement();
fragmentWriter.EndFragment();
writer.WriteStartElement("CharsInTheBody");
writer.WriteValue(fragmentStream.Length);
writer.WriteEndElement();
fragmentWriter.WriteFragment(fragmentStream.GetBuffer(), 0, (int)fragmentStream.Length);
writer.WriteEndElement(); // Root
.NET Framework
Available since 3.0
Available since 3.0
Show: