XmlTextWriter.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.
Zapisuje deklarację DOCTYPE o określonej nazwie i atrybutach opcjonalnych.
public:
override void WriteDocType(System::String ^ name, System::String ^ pubid, System::String ^ sysid, System::String ^ subset);
public override void WriteDocType (string name, string? pubid, string? sysid, string? subset);
public override void WriteDocType (string name, string pubid, string sysid, string subset);
override this.WriteDocType : string * string * string * string -> unit
Public Overrides 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 wartość nie jest równa null, zapisuje również publiczny "pubid" "sysid", gdzie pubid
i sysid
są zastępowane wartością podanych argumentów.
- sysid
- String
Jeśli pubid
ma wartość null i sysid
jest inny niż null, zapisuje system "sysid", gdzie sysid
jest zastępowany wartością tego argumentu.
- subset
- String
Jeśli wartość innej niż null zapisuje [podzbiór], gdzie podzbiór jest zastępowany wartością tego argumentu.
Wyjątki
Ta metoda została wywołana poza programem prolog (po elemecie głównym).
name
jest lub null
String.Empty
-lub-
wartość elementu spowoduje name
nieprawidłowy kod XML.
Przykłady
Poniższy przykład zapisuje plik XML reprezentujący książkę.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextWriter^ writer = nullptr;
String^ filename = "sampledata.xml";
writer = gcnew XmlTextWriter( filename, nullptr );
//Use indenting for readability.
writer->Formatting = Formatting::Indented;
//Write the XML delcaration.
writer->WriteStartDocument();
//Write the ProcessingInstruction node.
String^ PItext = "type='text/xsl' href='book.xsl'";
writer->WriteProcessingInstruction( "xml-stylesheet", PItext );
//Write the DocumentType node.
writer->WriteDocType( "book", nullptr, nullptr, "<!ENTITY h 'hardcover'>" );
//Write a Comment node.
writer->WriteComment( "sample XML" );
//Write a 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();
//Load the file into an XmlDocument to ensure well formed XML.
XmlDocument^ doc = gcnew XmlDocument;
//Preserve white space for readability.
doc->PreserveWhitespace = true;
//Load the file.
doc->Load( filename );
//Display the XML content to the console.
Console::Write( doc->InnerXml );
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
private const string filename = "sampledata.xml";
public static void Main()
{
XmlTextWriter writer = null;
writer = new XmlTextWriter (filename, null);
//Use indenting for readability.
writer.Formatting = Formatting.Indented;
//Write the XML delcaration.
writer.WriteStartDocument();
//Write the ProcessingInstruction 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 a 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();
//Load the file into an XmlDocument to ensure well formed XML.
XmlDocument doc = new XmlDocument();
//Preserve white space for readability.
doc.PreserveWhitespace = true;
//Load the file.
doc.Load(filename);
//Display the XML content to the console.
Console.Write(doc.InnerXml);
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Private Shared filename As String = "sampledata.xml"
Public Shared Sub Main()
Dim writer As XmlTextWriter = Nothing
writer = New XmlTextWriter(filename, Nothing)
'Use indenting for readability.
writer.Formatting = Formatting.Indented
'Write the XML delcaration.
writer.WriteStartDocument()
'Write the ProcessingInstruction 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 a 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()
'Load the file into an XmlDocument to ensure well formed XML.
Dim doc As New XmlDocument()
'Preserve white space for readability.
doc.PreserveWhitespace = True
'Load the file.
doc.Load(filename)
'Display the XML content to the console.
Console.Write(doc.InnerXml)
End Sub
End Class
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlWriter wystąpień przy użyciu metody i XmlWriterSettings klasy, aby korzystać z XmlWriter.Create nowych funkcji.
Ta metoda nie sprawdza nieprawidłowych znaków w pubid
obiekcie lub sysid
subset
. Nie sprawdza również, czy podzestaw wewnętrzny jest dobrze sformułowany.
Ważne
Element XmlTextWriter nie weryfikuje żadnych danych przekazywanych do WriteDocType metody. Nie należy przekazywać dowolnych danych do tej metody.