XmlWriter.Flush Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Когда переопределено в производном классе, сохраняет в базовый поток содержимое буфера, а также сохраняет основной поток.
public:
abstract void Flush();
public abstract void Flush ();
abstract member Flush : unit -> unit
Public MustOverride Sub Flush ()
Исключения
Метод XmlWriter вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".
Примеры
В следующем примере записывается два фрагмента XML.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
void main()
{
// Create an XmlWriter to write XML fragments.
XmlWriterSettings^ settings = gcnew XmlWriterSettings;
settings->ConformanceLevel = ConformanceLevel::Fragment;
settings->Indent = true;
XmlWriter^ writer = XmlWriter::Create( Console::Out, settings );
// Write an XML fragment.
writer->WriteStartElement( L"book" );
writer->WriteElementString( L"title", L"Pride And Prejudice" );
writer->WriteEndElement();
writer->Flush();
// Write another XML fragment.
writer->WriteStartElement( L"cd" );
writer->WriteElementString( L"title", L"Americana" );
writer->WriteEndElement();
writer->Flush();
// Close the writer.
writer->Close();
}
using System;
using System.IO;
using System.Xml;
public class Sample {
public static void Main() {
// Create an XmlWriter to write XML fragments.
XmlWriterSettings settings = new XmlWriterSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(Console.Out, settings);
// Write an XML fragment.
writer.WriteStartElement("book");
writer.WriteElementString("title", "Pride And Prejudice");
writer.WriteEndElement();
writer.Flush();
// Write another XML fragment.
writer.WriteStartElement("cd");
writer.WriteElementString("title", "Americana");
writer.WriteEndElement();
writer.Flush();
// Close the writer.
writer.Close();
}
}
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
' Create an XmlWriter to write XML fragments.
Dim settings As XmlWriterSettings = new XmlWriterSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.Indent = true
Dim writer As XmlWriter = XmlWriter.Create(Console.Out, settings)
' Write an XML fragment.
writer.WriteStartElement("book")
writer.WriteElementString("title", "Pride And Prejudice")
writer.WriteEndElement()
writer.Flush()
' Write another XML fragment.
writer.WriteStartElement("cd")
writer.WriteElementString("title", "Americana")
writer.WriteEndElement()
writer.Flush()
'Close the writer.
writer.Close()
End Sub
End Class
Комментарии
Это вызывается вместо Close того, чтобы записывать дополнительные данные в базовый поток, не теряя то, что все еще находится в буфере.
Асинхронная версия этого метода см. в разделе FlushAsync.