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 datového proudu 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 do buffer
souboru .
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. Zapisovaná fragment je count
bajty začínající na indexu offset
od zadaného buffer
souboru . Chování není definováno, pokud zadaný fragment nebyl zachycen pomocí této instance zápisu.