IFragmentCapableXmlDictionaryWriter.WriteFragment Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zapíše fragment XML do podkladového streamu zapisovače.
public:
void WriteFragment(cli::array <System::Byte> ^ buffer, int offset, int count);
public void WriteFragment(byte[] buffer, int offset, int count);
abstract member WriteFragment : byte[] * int * int -> unit
Public Sub WriteFragment (buffer As Byte(), offset As Integer, count As Integer)
Parametry
- buffer
- Byte[]
Vyrovnávací paměť pro zápis do.
- offset
- Int32
Počáteční pozice, ze které se má zapisovat buffer.
- count
- Int32
Počet bajtů, které mají být zapsány bufferdo .
Příklady
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
Poznámky
Zapíše fragment zachycený mezi StartFragment a EndFragment voláními zpět do hlavního streamu XmlDictionaryWriter. Zapsaný fragment je count bajty začínající indexem offset od zadaného buffer. Chování není definováno, pokud zadaný fragment nebyl zachycen pomocí této instance zapisovače.