XmlWriter.WriteEndDocument 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在衍生類別中覆寫時,關閉任何開啟的項目或屬性,並將寫入器回復開始狀態。
public:
abstract void WriteEndDocument();
public abstract void WriteEndDocument ();
abstract member WriteEndDocument : unit -> unit
Public MustOverride Sub WriteEndDocument ()
例外狀況
XML 文件無效。
在先前的非同步作業完成前呼叫了 XmlWriter 方法。 在此情況下,會擲回 InvalidOperationException 與「非同步作業已經在進行中」的訊息。
範例
下列範例會寫入代表書籍的 XML 檔案。
using System;
using System.IO;
using System.Xml;
public class Sample {
private const string filename = "sampledata.xml";
public static void Main() {
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(filename, settings);
// Write the Processing Instruction node.
String PItext="type=\"text/xsl\" href=\"book.xsl\"";
writer.WriteProcessingInstruction("xml-stylesheet", PItext);
// Write the DocumentType node.
writer.WriteDocType("book", null , null, "<!ENTITY h \"hardcover\">");
// Write a Comment node.
writer.WriteComment("sample XML");
// Write the root element.
writer.WriteStartElement("book");
// Write the genre attribute.
writer.WriteAttributeString("genre", "novel");
// Write the ISBN attribute.
writer.WriteAttributeString("ISBN", "1-8630-014");
// Write the title.
writer.WriteElementString("title", "The Handmaid's Tale");
// Write the style element.
writer.WriteStartElement("style");
writer.WriteEntityRef("h");
writer.WriteEndElement();
// Write the price.
writer.WriteElementString("price", "19.95");
// Write CDATA.
writer.WriteCData("Prices 15% off!!");
// Write the close tag for the root element.
writer.WriteEndElement();
writer.WriteEndDocument();
// Write the XML to file and close the writer.
writer.Flush();
writer.Close();
}
}
Option Strict
Option Explicit
Imports System.IO
Imports System.Xml
Public Class Sample
Private Const filename As String = "sampledata.xml"
Public Shared Sub Main()
Dim settings As XmlWriterSettings = new XmlWriterSettings()
settings.Indent = true
Dim writer As XmlWriter = XmlWriter.Create(filename, settings)
' Write the Processing Instruction node.
Dim PItext As String = "type=""text/xsl"" href=""book.xsl"""
writer.WriteProcessingInstruction("xml-stylesheet", PItext)
'Write the DocumentType node.
writer.WriteDocType("book", Nothing, Nothing, "<!ENTITY h ""hardcover"">")
' Write a Comment node.
writer.WriteComment("sample XML")
' Write the root element.
writer.WriteStartElement("book")
' Write the genre attribute
writer.WriteAttributeString("genre", "novel")
' Write the ISBN attribute.
writer.WriteAttributeString("ISBN", "1-8630-014")
' Write the title.
writer.WriteElementString("title", "The Handmaid's Tale")
' Write the style element.
writer.WriteStartElement("style")
writer.WriteEntityRef("h")
writer.WriteEndElement()
' Write the price.
writer.WriteElementString("price", "19.95")
' Write CDATA.
writer.WriteCData("Prices 15% off!!")
' Write the close tag for the root element.
writer.WriteEndElement()
writer.WriteEndDocument()
' Write the XML to file and close the writer
writer.Flush()
writer.Close()
End Sub
End Class
備註
注意
當您使用 XmlWriter 方法來輸出 XML 時,除非您呼叫 Close 方法,否則不會寫入元素和屬性。 例如,如果您使用 XmlWriter 來填入 XmlDocument ,直到您關閉 XmlWriter 為止,您將無法觀察目的檔案中的寫入元素和屬性。
如需這個方法的非同步版本,請參閱 WriteEndDocumentAsync 。