言語

IFragmentCapableXmlDictionaryWriter.WriteFragment メソッド

定義

ライターの基になるストリームに 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  

注釈

StartFragmentEndFragmentの間でキャプチャされたフラグメントを書き込み、XmlDictionaryWriter のメイン ストリームに再度呼び出します。 書き込まれたフラグメントは、指定されたcountからoffsetインデックスから始まるbufferバイトです。 指定されたフラグメントがこのライター インスタンスを使用してキャプチャされなかった場合、動作は未定義です。

適用対象