XmlTextWriter.WriteDocType(String, String, String, String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
写出具有指定名称和可选属性的 DOCTYPE 声明。
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)
参数
- name
- String
DOCTYPE 的名称。 它必须是非空的。
- pubid
- String
如果非 null,则它还编写 PUBLIC "pubid" "sysid",这里的 pubid
和 sysid
用给定参数的值替换。
- sysid
- String
如果 pubid
为 null 而 sysid
非 null,则它编写 SYSTEM "sysid",这里的 sysid
用此参数的值替换。
- subset
- String
如果非 null,则它写入 [subset],其中 subset 替换为此参数的值。
例外
在序言码外部(根元素之后)调用了此方法。
示例
以下示例编写一个表示书籍的 XML 文件。
#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
注解
备注
从 .NET Framework 2.0 开始,我们建议使用XmlWriter.Create方法和XmlWriterSettings类来创建XmlWriter实例,以利用新功能。
此方法不会检查中 pubid
是否有无效字符或 sysid
subset
。 它还不检查内部子集的格式正确。
重要
不 XmlTextWriter 验证传递给 WriteDocType 该方法的任何数据。 不应将任意数据传递给此方法。