다음을 통해 공유


XML 선언을 사용하여 serialize

업데이트: November 2007

이 항목에서는 serialization을 통해 XML 선언이 생성되는지 여부를 제어하는 방법에 대해 설명합니다.

XML 선언 생성

XElement.Save 메서드 또는 XDocument.Save 메서드를 사용하여 File 또는 TextWriter로 serialize하면 XML 선언이 생성됩니다. XmlWriter로 serialize하면 XmlWriterSettings 개체에 지정된 작성기 설정에 따라 XML 선언이 생성되는지 여부가 결정됩니다.

ToString 메서드를 사용하여 문자열로 serialize하는 경우 생성되는 XML에는 XML 선언이 포함되지 않습니다.

XML 선언을 사용하여 serialize

다음 예제에서는 XElement를 만들고 문서를 파일에 저장한 다음 파일을 콘솔에 출력합니다.

XElement root = new XElement("Root",
    new XElement("Child", "child content")
);
root.Save("Root.xml");
string str = File.ReadAllText("Root.xml");
Console.WriteLine(str);
Dim root As XElement = <Root>
                           <Child>child content</Child>
                       </Root>
root.Save("Root.xml")
Dim str As String = File.ReadAllText("Root.xml")
Console.WriteLine(str)

이 예제의 결과는 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<Root>
  <Child>child content</Child>
</Root>

XML 선언을 사용하지 않고 serialize

다음 예제에서는 XElementXmlWriter에 저장하는 방법을 보여 줍니다.

StringBuilder sb = new StringBuilder();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;

using (XmlWriter xw = XmlWriter.Create(sb, xws)) {
    XElement root = new XElement("Root",
        new XElement("Child", "child content")
    );
    root.Save(xw);
}
Console.WriteLine(sb.ToString());
Dim sb As StringBuilder = New StringBuilder()
Dim xws As XmlWriterSettings = New XmlWriterSettings()
xws.OmitXmlDeclaration = True

Using xw As XmlWriter = XmlWriter.Create(sb, xws)
    Dim root = <Root>
                   <Child>child content</Child>
               </Root>
    root.Save(xw)
End Using
Console.WriteLine(sb.ToString())

이 예제의 결과는 다음과 같습니다.

<Root><Child>child content</Child></Root>

참고 항목

개념

XML 트리 serialize