다음을 통해 공유


XML 작성기 만들기

XmlWriter 인스턴스는 정적 XmlWriter.Create 메서드를 사용하여 만듭니다.

XmlWriter 개체는 Create 메서드를 사용하여 만듭니다. XmlWriterSettings 클래스를 사용하여 새 XmlWriter 개체에서 사용할 기능 집합을 지정할 수 있습니다.

중요중요

Microsoft .NET Framework에 XmlWriter 클래스의 구체적 구현인 XmlTextWriter 클래스가 포함되어 있지만 .NET Framework 버전 2.0에서는 Create 메서드를 사용하여 XmlWriter 인스턴스를 만드는 것이 좋습니다.

XmlWriterSettings 클래스의 속성을 사용하여 기능을 활성화하거나 비활성화할 수 있습니다. XmlWriterSettings 개체를 Create 메서드에 전달하여 지원할 작성기 기능을 지정합니다. Create 메서드와 XmlWriterSettings 클래스를 사용하면 다음과 같은 이점을 얻을 수 있습니다.

  • 만들어진 XmlWriter 개체에서 지원할 기능을 지정할 수 있습니다.

  • XmlWriterSettings 개체를 다시 사용하여 여러 작성기 개체를 만들 수 있습니다. XmlWriterSettings 개체가 복사되고 생성된 각 작성기에 대해 읽기 전용으로 표시됩니다. XmlWriterSettings 인스턴스에서 설정을 변경해도 설정이 같은 기존 작성기에는 영향을 주지 않습니다. 그러므로 같은 설정을 사용하면 같은 기능을 갖춘 여러 작성기를 만들 수 있습니다. 또는 XmlWriterSettings 인스턴스에서 설정을 수정하고 다른 기능 집합이 포함된 새 작성기를 만들 수 있습니다.

  • 기존 작성기에 기능을 추가할 수 있습니다. Create 메서드는 다른 XmlWriter 개체를 허용할 수 있습니다. 기본 XmlWriter 개체는 정적 Create 메서드로 만든 작성기가 아니어도 됩니다. 예를 들어, 기능을 추가할 XmlTextWriter 개체 또는 사용자 정의 작성기를 지정할 수 있습니다.

  • 이 릴리스에서 XmlWriter 클래스에 추가된 새로운 기능을 모두 최대한 활용하십시오. 향상된 규칙 검사 기능이나 XML 1.0 권장 사항 준수 등의 일부 기능은 정적 Create 메서드로 만든 XmlWriter 개체에서만 사용할 수 있습니다.

XmlWriterSettings 개체를 Create 메서드에 전달하지 않으면 기본 작성기 설정이 사용됩니다. 다음 표에서는 XmlWriterSettings 클래스의 기본 설정을 보여 줍니다.

속성

초기 값

CheckCharacters

true

CloseOutput

false

ConformanceLevel

ConformanceLevel.Document

Encoding

Encoding.UTF8

Indent

false

IndentChars

공백 두 개

NewLineChars

\r\n(캐리지 리턴, 줄 바꿈)

NewLineHandling

NewHandling.Replace

NewLineOnAttributes

false

OmitXmlDeclaration

false

예제

다음 예제에서는 XML 파일로 출력되는 XmlWriter를 만듭니다.

Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = "    "
Using writer As XmlWriter = XmlWriter.Create("books.xml", settings)
  ' Write XML data.
  writer.WriteStartElement("book")
  writer.WriteElementString("price", "19.95")
  writer.WriteEndElement()
  writer.Flush()
End Using
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = ("    ");
using (XmlWriter writer = XmlWriter.Create("books.xml", settings))
{
    // Write XML data.
    writer.WriteStartElement("book");
    writer.WriteElementString("price", "19.95");
    writer.WriteEndElement();
    writer.Flush();
}

참고 항목

기타 리소스

XML 문서 및 데이터