我正在以下列方式使用内存流创建 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 文件,然后开始一个新文件。