次の方法で、メモリ ストリームを使用して XML ファイルを作成しています。
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
MemoryStream ms = new MemoryStream();
using (XmlWriter writer = XmlWriter.Create(ms, settings))
{
// CREATE XML WITH STATEMENTS LIKE THIS
writer.WriteStartElement("url", myUrl);
writer.WriteEndElement();
}
MemoryStream
実際に要素をに追加する前に、結果の長さがどうなるかを確認する方法はありMemoryStream
ますか?
何かのようなもの -
var sizeTotal = ms + (writer.WriteStartElement("url", myUrl);
これの目的は、 をチェックできるようにすることです。sizeTotal
に書き込む前に、サイズが大きすぎないことを確認してくださいMemoryStream
。
生成する XML ファイルのサイズ制限は 10MB です。最初に「一時」ストリームに書き込み、長さを確認し、sizeTotal
10MB 未満の場合は要素を「実際の」ストリームに書き込みますか。それ以外の場合、sizeTotal
10MB を超える場合は、要素をストリームに追加せず、XML ファイルを生成してから、新しいファイルを開始します。