XmlWriter.WriteStartElement 메서드

정의

파생된 클래스에서 재정의되면 지정된 시작 태그를 작성합니다.

오버로드

WriteStartElement(String)

파생 클래스에서 재정의되면 지정된 로컬 이름을 사용하여 시작 태그를 작성합니다.

WriteStartElement(String, String)

파생된 클래스에서 재정의되면 지정된 시작 태그를 작성하고 지정된 네임스페이스에 연결합니다.

WriteStartElement(String, String, String)

파생 클래스에서 재정의되면 지정된 시작 태그를 작성하고 지정된 네임스페이스 및 접두사에 연결합니다.

설명

이 메서드의 비동기 버전은 다음을 참조하세요 WriteStartElementAsync.

WriteStartElement(String)

파생 클래스에서 재정의되면 지정된 로컬 이름을 사용하여 시작 태그를 작성합니다.

public:
 void WriteStartElement(System::String ^ localName);
public void WriteStartElement (string localName);
member this.WriteStartElement : string -> unit
Public Sub WriteStartElement (localName As String)

매개 변수

localName
String

요소의 로컬 이름입니다.

예외

작성기가 닫힌 경우

또는

이전 비동기 작업이 완료되기 전에 XmlWriter 메서드가 호출되었습니다. 이 경우 “비동기 작업이 이미 진행 중입니다.” 메시지를 나타내며 InvalidOperationException이 throw됩니다.

유효한 XML 문자이나 출력 인코딩에는 유효하지 않은 버퍼에 문자가 있습니다. 예를 들어, 출력 인코딩이 ASCII인 경우, 요소 및 특성 이름에 대해서는 0부터 127까지 범주의 문자만 사용해야 합니다. 유효하지 않은 문자가 이 메서드의 인수 안이나 버퍼에 쓰고 있었던 이전 메서드의 인수 안에 있을지도 모릅니다. 이러한 문자는 가능한 경우 (예를 들어, 텍스트 노드 또는 특성 값에서) 문자 엔터티 참조에 의해 이스케이프됩니다. 그러나, 문자 엔터티 참조가 요소 및 특성 이름, 주석, 처리 명령, 또는 CDATA 섹션에서는 허용되지 않습니다.

예제

다음 예제에서는 XML 노드를 씁니다.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   // Create a writer to write XML to the console.
   XmlWriterSettings^ settings = gcnew XmlWriterSettings;
   settings->Indent = true;
   settings->OmitXmlDeclaration = true;
   XmlWriter^ writer = XmlWriter::Create( Console::Out, settings );
   
   // Write the book element.
   writer->WriteStartElement( L"book" );
   
   // Write the title element.
   writer->WriteStartElement( L"title" );
   writer->WriteString( L"Pride And Prejudice" );
   writer->WriteEndElement();
   
   // Write the close tag for the root element.
   writer->WriteEndElement();
   
   // Write the XML and close the writer.
   writer->Close();
   return 1;
}
using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

     // Create a writer to write XML to the console.
     XmlWriterSettings settings = new XmlWriterSettings();
     settings.Indent = true;
     settings.OmitXmlDeclaration = true;
     XmlWriter writer = XmlWriter.Create(Console.Out, settings);

     // Write the book element.
     writer.WriteStartElement("book");

     // Write the title element.
     writer.WriteStartElement("title");
     writer.WriteString("Pride And Prejudice");
     writer.WriteEndElement();

     // Write the close tag for the root element.
     writer.WriteEndElement();

     // Write the XML and close the writer.
     writer.Close();
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
  Public Shared Sub Main()

     ' Create a writer to write XML to the console.
     Dim settings As XmlWriterSettings = new XmlWriterSettings()
     settings.Indent = true
     settings.OmitXmlDeclaration = true
     Dim writer As XmlWriter = XmlWriter.Create(Console.Out, settings)

     ' Write the book element.
     writer.WriteStartElement("book")
        
     ' Write the title element.
     writer.WriteStartElement("title")
     writer.WriteString("Pride And Prejudice")
     writer.WriteEndElement()
        
     ' Write the close tag for the root element.
     writer.WriteEndElement()
        
     ' Write the XML and close the writer.
     writer.Close()

  End Sub
End Class

설명

이 메서드의 비동기 버전은 다음을 참조하세요 WriteStartElementAsync.

적용 대상

WriteStartElement(String, String)

파생된 클래스에서 재정의되면 지정된 시작 태그를 작성하고 지정된 네임스페이스에 연결합니다.

public:
 void WriteStartElement(System::String ^ localName, System::String ^ ns);
public void WriteStartElement (string localName, string ns);
public void WriteStartElement (string localName, string? ns);
member this.WriteStartElement : string * string -> unit
Public Sub WriteStartElement (localName As String, ns As String)

매개 변수

localName
String

요소의 로컬 이름입니다.

ns
String

요소와 연결할 네임스페이스 URI입니다. 이 네임스페이스가 이미 범위에 있고 관련된 접두사가 있는 경우 작성기는 해당 접두사도 자동으로 작성합니다.

예외

작성기가 닫힌 경우

또는

이전 비동기 작업이 완료되기 전에 XmlWriter 메서드가 호출되었습니다. 이 경우 “비동기 작업이 이미 진행 중입니다.” 메시지를 나타내며 InvalidOperationException이 throw됩니다.

유효한 XML 문자이나 출력 인코딩에는 유효하지 않은 버퍼에 문자가 있습니다. 예를 들어, 출력 인코딩이 ASCII인 경우, 요소 및 특성 이름에 대해서는 0부터 127까지 범주의 문자만 사용해야 합니다. 유효하지 않은 문자가 이 메서드의 인수 안이나 버퍼에 쓰고 있었던 이전 메서드의 인수 안에 있을지도 모릅니다. 이러한 문자는 가능한 경우 (예를 들어, 텍스트 노드 또는 특성 값에서) 문자 엔터티 참조에 의해 이스케이프됩니다. 그러나, 문자 엔터티 참조가 요소 및 특성 이름, 주석, 처리 명령, 또는 CDATA 섹션에서는 허용되지 않습니다.

설명

이 메서드를 호출한 후 특성을 작성하거나 , WriteString또는 WriteStartElement 자식 요소를 사용하여 WriteComment콘텐츠를 만들 수 있습니다. 또는 WriteEndElement WriteFullEndElement.을 사용하여 요소를 닫을 수 있습니다. 예를 들어 다음 C# 코드는 다음과 같습니다.

writer.WriteStartElement("item",null);  
writer.WriteString("some text");  
writer.WriteEndElement();  

다음 출력이 생성됩니다.

<item>some text</item>  

이 메서드의 비동기 버전은 다음을 참조하세요 WriteStartElementAsync.

적용 대상

WriteStartElement(String, String, String)

파생 클래스에서 재정의되면 지정된 시작 태그를 작성하고 지정된 네임스페이스 및 접두사에 연결합니다.

public:
 abstract void WriteStartElement(System::String ^ prefix, System::String ^ localName, System::String ^ ns);
public abstract void WriteStartElement (string prefix, string localName, string ns);
public abstract void WriteStartElement (string? prefix, string localName, string? ns);
abstract member WriteStartElement : string * string * string -> unit
Public MustOverride Sub WriteStartElement (prefix As String, localName As String, ns As String)

매개 변수

prefix
String

요소의 네임스페이스 접두사입니다.

localName
String

요소의 로컬 이름입니다.

ns
String

요소와 연결할 네임스페이스 URI입니다.

예외

작성기가 닫힌 경우

또는

이전 비동기 작업이 완료되기 전에 XmlWriter 메서드가 호출되었습니다. 이 경우 “비동기 작업이 이미 진행 중입니다.” 메시지를 나타내며 InvalidOperationException이 throw됩니다.

유효한 XML 문자이나 출력 인코딩에는 유효하지 않은 버퍼에 문자가 있습니다. 예를 들어, 출력 인코딩이 ASCII인 경우, 요소 및 특성 이름에 대해서는 0부터 127까지 범주의 문자만 사용해야 합니다. 유효하지 않은 문자가 이 메서드의 인수 안이나 버퍼에 쓰고 있었던 이전 메서드의 인수 안에 있을지도 모릅니다. 이러한 문자는 가능한 경우 (예를 들어, 텍스트 노드 또는 특성 값에서) 문자 엔터티 참조에 의해 이스케이프됩니다. 그러나, 문자 엔터티 참조가 요소 및 특성 이름, 주석, 처리 명령, 또는 CDATA 섹션에서는 허용되지 않습니다.

예제

다음 예제에서는 XML 조각을 작성합니다.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
public ref class Sample
{
private:
   static String^ m_Document = L"sampledata.xml";

public:
   static void Main()
   {
      XmlWriter^ writer = nullptr;
      try
      {
         XmlWriterSettings^ settings = gcnew XmlWriterSettings;
         settings->Indent = true;
         writer = XmlWriter::Create( m_Document,settings );
         writer->WriteComment( L"sample XML fragment" );
         
         // Write an element (this one is the root).
         writer->WriteStartElement( L"book" );
         
         // Write the namespace declaration.
         writer->WriteAttributeString( L"xmlns", L"bk", nullptr, L"urn:samples" );
         
         // Write the genre attribute.
         writer->WriteAttributeString( L"genre", L"novel" );
         
         // Write the title.
         writer->WriteStartElement( L"title" );
         writer->WriteString( L"The Handmaid's Tale" );
         writer->WriteEndElement();
         
         // Write the price.
         writer->WriteElementString( L"price", L"19.95" );
         
         // Lookup the prefix and write the ISBN element.
         String^ prefix = writer->LookupPrefix( L"urn:samples" );
         writer->WriteStartElement( prefix, L"ISBN", L"urn:samples" );
         writer->WriteString( L"1-861003-78" );
         writer->WriteEndElement();
         
         // Write the style element (shows a different way to handle prefixes).
         writer->WriteElementString( L"style", L"urn:samples", L"hardcover" );
         
         // Write the close tag for the root element.
         writer->WriteEndElement();
         
         // Write the XML to file and close the writer.
         writer->Flush();
         writer->Close();
      }
      finally
      {
         if ( writer != nullptr )
                  writer->Close();
      }

   }

};

void main()
{
   Sample::Main();
}
using System;
using System.IO;
using System.Xml;

 public class Sample
 {
   private const string m_Document = "sampledata.xml";

   public static void Main() {

      XmlWriter writer = null;

      try {

        XmlWriterSettings settings = new XmlWriterSettings();
        settings.Indent = true;
        writer = XmlWriter.Create (m_Document, settings);

        writer.WriteComment("sample XML fragment");

        // Write an element (this one is the root).
        writer.WriteStartElement("book");

        // Write the namespace declaration.
        writer.WriteAttributeString("xmlns", "bk", null, "urn:samples");

        // Write the genre attribute.
        writer.WriteAttributeString("genre", "novel");

        // Write the title.
        writer.WriteStartElement("title");
        writer.WriteString("The Handmaid's Tale");
        writer.WriteEndElement();

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

        // Lookup the prefix and write the ISBN element.
        string prefix = writer.LookupPrefix("urn:samples");
        writer.WriteStartElement(prefix, "ISBN", "urn:samples");
        writer.WriteString("1-861003-78");
        writer.WriteEndElement();

        // Write the style element (shows a different way to handle prefixes).
        writer.WriteElementString("style", "urn:samples", "hardcover");

        // Write the close tag for the root element.
        writer.WriteEndElement();

        // Write the XML to file and close the writer.
        writer.Flush();
        writer.Close();
      }

      finally {
        if (writer != null)
           writer.Close();
     }
   }
 }
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml

Public Class Sample
    Private Shared m_Document As String = "sampledata.xml"
    
    Public Shared Sub Main()
        Dim writer As XmlWriter = Nothing
        
      Try

        Dim settings As XmlWriterSettings = new XmlWriterSettings()
        settings.Indent = true
        writer = XmlWriter.Create (m_Document, settings)
            
        writer.WriteComment("sample XML fragment")
            
        ' Write an element (this one is the root).
        writer.WriteStartElement("book")
            
        ' Write the namespace declaration.
        writer.WriteAttributeString("xmlns", "bk", Nothing, "urn:samples")
            
        ' Write the genre attribute.
        writer.WriteAttributeString("genre", "novel")
            
        ' Write the title.
        writer.WriteStartElement("title")
        writer.WriteString("The Handmaid's Tale")
        writer.WriteEndElement()
            
        ' Write the price.
        writer.WriteElementString("price", "19.95")
            
        ' Lookup the prefix and write the ISBN element.
        Dim prefix As String = writer.LookupPrefix("urn:samples")
        writer.WriteStartElement(prefix, "ISBN", "urn:samples")
        writer.WriteString("1-861003-78")
        writer.WriteEndElement()
            
        ' Write the style element (shows a different way to handle prefixes).
        writer.WriteElementString("style", "urn:samples", "hardcover")
            
        ' Write the close tag for the root element.
        writer.WriteEndElement()
            
        ' Write the XML to file and close the writer.
        writer.Flush()
        writer.Close()
        
        Finally
            If Not (writer Is Nothing) Then
                writer.Close()
            End If
        End Try

    End Sub
End Class

설명

이 메서드의 비동기 버전은 다음을 참조하세요 WriteStartElementAsync.

적용 대상