XmlWriter.WriteDocType(String, String, String, String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Po zastąpieniu w klasie pochodnej, zapisuje deklarację DOCTYPE z określoną nazwą i atrybutami opcjonalnymi.
public:
abstract void WriteDocType(System::String ^ name, System::String ^ pubid, System::String ^ sysid, System::String ^ subset);
public abstract void WriteDocType (string name, string pubid, string sysid, string subset);
public abstract void WriteDocType (string name, string? pubid, string? sysid, string? subset);
abstract member WriteDocType : string * string * string * string -> unit
Public MustOverride Sub WriteDocType (name As String, pubid As String, sysid As String, subset As String)
Parametry
- name
- String
Nazwa DOCTYPE. Musi to być niepuste.
- pubid
- String
Jeśli parametr nie ma wartości null, zapisuje również publiczny "pubid" "sysid", gdzie pubid
i sysid
są zastępowane wartością podanych argumentów.
- sysid
- String
Jeśli pubid
parametr is null
i sysid
ma wartość inną niż null, zapisuje system "sysid", gdzie sysid
jest zastępowany wartością tego argumentu.
- subset
- String
Jeśli wartość innej niż null zapisuje wartość [podzbiór], gdzie podzbiór jest zastępowany wartością tego argumentu.
Wyjątki
Ta metoda została wywołana poza prologem (po elemecie głównym).
-lub-
Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".
Wartość dla name
elementu spowoduje nieprawidłowy kod XML.
Przykłady
Poniższy przykład zapisuje plik XML reprezentujący książkę.
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
Uwagi
Ta metoda nie sprawdza nieprawidłowych znaków w pliku pubid
lub sysid
subset
. Nie sprawdza również, czy podzbiór wewnętrzny jest poprawnie sformułowany.
Ważne
Element XmlWriter nie weryfikuje danych przekazanych do WriteDocType metody . Nie należy przekazywać dowolnych danych do tej metody.
Aby uzyskać asynchroniczną wersję tej metody, zobacz WriteDocTypeAsync.