IFragmentCapableXmlDictionaryWriter.WriteFragment 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 XML 片段寫入至寫入器的基礎資料流。
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)
參數
- buffer
- Byte[]
要寫入的緩衝區。
- offset
- Int32
要在 buffer
中進行寫入的起始位置。
- count
- Int32
要寫入至 buffer
的位元組數目。
範例
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
備註
寫入在 StartFragment
與 EndFragment
之間擷取的片段,並回呼至 XmlDictionaryWriter 的主要資料流中。 寫入的片段是 count
個位元組,且起始於所提供 offset
中的索引 buffer
。 如果提供的片段不是使用這個寫入器執行個體所擷取,則表示此行為是未定義的。