다음을 통해 공유


XmlWriter.WriteDocType 메서드

파생 클래스에서 재정의되면 지정된 이름 및 선택적 특성이 있는 DOCTYPE 선언을 작성합니다.

네임스페이스: System.Xml
어셈블리: System.Xml(system.xml.dll)

구문

‘선언
Public MustOverride Sub WriteDocType ( _
    name As String, _
    pubid As String, _
    sysid As String, _
    subset As String _
)
‘사용 방법
Dim instance As XmlWriter
Dim name As String
Dim pubid As String
Dim sysid As String
Dim subset As String

instance.WriteDocType(name, pubid, sysid, subset)
public abstract void WriteDocType (
    string name,
    string pubid,
    string sysid,
    string subset
)
public:
virtual void WriteDocType (
    String^ name, 
    String^ pubid, 
    String^ sysid, 
    String^ subset
) abstract
public abstract void WriteDocType (
    String name, 
    String pubid, 
    String sysid, 
    String subset
)
public abstract function WriteDocType (
    name : String, 
    pubid : String, 
    sysid : String, 
    subset : String
)

매개 변수

  • name
    DOCTYPE의 이름입니다. 이 이름은 비어 있지 않아야 합니다.
  • pubid
    null이 아닌 경우 PUBLIC "pubid" "sysid"도 씁니다. 여기서 pubid와 sysid는 지정된 인수 값으로 바뀝니다.
  • sysid
    pubid가 Null 참조(Visual Basic의 경우 Nothing)이고 sysid가 null이 아닌 경우 SYSTEM "sysid"를 씁니다. 여기서 sysid는 이 인수 값으로 바뀝니다.
  • subset
    null이 아닌 경우 하위 집합이 이 인수 값으로 대체되는 [subset]을 작성합니다.

예외

예외 형식 조건

InvalidOperationException

이 메서드가 루트 요소 다음의 프롤로그 외부에서 호출된 경우

ArgumentException

name의 값이 잘못된 XML이 되는 경우

설명

이 메서드는 pubid, sysid 또는 subset에서 잘못된 문자를 검사하지 않으며 내부 하위 집합이 제대로 구성되었는지도 검사하지 않습니다.

Security note보안 참고

XmlWriterWriteDocType 메서드에 전달되는 데이터의 유효성을 검사하지 않으므로 이 메서드에 임의의 데이터를 전달해서는 안 됩니다.

Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows CE 플랫폼 참고: 이 메서드는 Microsoft .NET Compact Framework 버전 1.0에는 구현되지 않았지만 버전 2.0에는 구현되었습니다.

예제

다음 예제에서는 책을 설명하는 XML 파일을 작성합니다.

Option Strict
Option Explicit

Imports System
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 'Main 
End Class 'Sample
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();  
  }

}

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

XmlWriter 클래스
XmlWriter 멤버
System.Xml 네임스페이스

기타 리소스

XmlWriter를 사용하여 XML 작성