다음을 통해 공유


XML 작성기 만들기

업데이트: November 2007

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 문서 및 데이터