次の方法で共有


XmlTextWriter.WriteDocType メソッド

名前とオプション属性を指定して、DOCTYPE 宣言を書き込みます。

Overrides Public Sub WriteDocType( _
   ByVal name As String, _   ByVal pubid As String, _   ByVal sysid As String, _   ByVal subset As String _)
[C#]
public override void WriteDocType(stringname,stringpubid,stringsysid,stringsubset);
[C++]
public: void WriteDocType(String* name,String* pubid,String* sysid,String* subset);
[JScript]
public override function WriteDocType(
   name : String,pubid : String,sysid : String,subset : String);

パラメータ

  • name
    DOCTYPE の名前。これを空にすることはできません。
  • pubid
    null でない場合は、PUBLIC "pubid" "sysid" も書き込みます。pubid と sysid は、指定した引数の値に置き換えられます。
  • sysid
    pubid が null で sysid が非 null の場合は、sysid が引数の値に置き換えられる SYSTEM "sysid" を書き込みます。
  • subset
    非 null の場合は、subset が引数の値で置き換えられる [subset] を書き込みます。

例外

例外の種類 条件
InvalidOperationException このメソッドが、プロローグの外 (ルート要素の後) で呼び出されました。
ArgumentException name が null 参照 (Visual Basic では Nothing) または String.Empty です。

または

name の値が、無効な XML になることがあります。

解説

このメソッドは、 pubid, sysid または subset に無効な文字があるかどうかを確認しません。

使用例

[Visual Basic, C#, C++] book を表す XML ファイルを書き込む例を次に示します。

 
Option Explicit
Option Strict

Imports System
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 'Main 
End Class 'Sample

[C#] 
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);  

  }

}

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;

int main()
{
     XmlTextWriter* writer = 0;
     String* filename = S"sampledata.xml";

     writer = new XmlTextWriter (filename, 0);
     //Use indenting for readability.
     writer->Formatting = Formatting::Indented;

     //Write the XML delcaration. 
     writer->WriteStartDocument();

     //Write the ProcessingInstruction node.
     String* PItext=S"type='text/xsl' href='book.xsl'";
     writer->WriteProcessingInstruction(S"xml-stylesheet", PItext);

     //Write the DocumentType node.
     writer->WriteDocType(S"book", 0 , 0, S"<!ENTITY h 'hardcover'>");
        
     //Write a Comment node.
     writer->WriteComment(S"sample XML");
    
     //Write a root element.
     writer->WriteStartElement(S"book");

     //Write the genre attribute.
     writer->WriteAttributeString(S"genre", S"novel");
    
     //Write the ISBN attribute.
     writer->WriteAttributeString(S"ISBN", S"1-8630-014");

     //Write the title.
     writer->WriteElementString(S"title", S"The Handmaid's Tale");
              
     //Write the style element.
     writer->WriteStartElement(S"style");
     writer->WriteEntityRef(S"h");
     writer->WriteEndElement(); 

     //Write the price.
     writer->WriteElementString(S"price", S"19.95");

     //Write CDATA.
     writer->WriteCData(S"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);  
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

XmlTextWriter クラス | XmlTextWriter メンバ | System.Xml 名前空間