XmlDocuemnt 클래스에는 필요한 형식의 노드를 생성할 수 있는 Create 메서드를 제공하고 있습니다.
노드의 선언을 만들 때는 CreateXmlDeclaration 메서드를 사용합니다.
public XmlDeclaration CreateXmlDeclaration(string version,
string encoding,
string stdandalone);
버전은 항상 “1.0”이어야 하고 인코딩을 Encoding 클래스에서 지원하는 문자열로 설정합니다. 만약 인코딩을 null로 지정하면 기본 인코딩을 사용합니다.그리고 standalone의 값은 “yes” 혹은 “no”을 사용할 수 있고 null이나 string.Empty을 사용하면 선언에 기록하지 않습니다.
XmlDeclartaion 개체는 XmlDocument 개체의 DocumentElement 속성 앞에 추가합니다.
특성을 추가할 때는 이미 만들어진 요소에 추가합니다. 특성을 추가할 요소 개체에 SetAttribute 메서드를 이용하여 특성을 추가할 수 있습니다. 또 다른 방법으로는 CreateAttribute 메서드를 이용해 XmlAtrribute 노드를 만들고 나서 추가할 요소 개체의 특성 컬렉션에 추가할 수도 있습니다.
public XmlAttribute CreateAttribute (string name);
public XmlAttribute CreateAttribute (string name, string ns);
public XmlAttribute CreateAttribute (string prefix, string name, string ns);
[XML.NET] 24. XmlDocument 클래스로 노드 삽입
XmlDocuemnt 클래스에는 필요한 형식의 노드를 생성할 수 있는 Create 메서드를 제공하고 있습니다.
노드의 선언을 만들 때는 CreateXmlDeclaration 메서드를 사용합니다.
버전은 항상 “1.0”이어야 하고 인코딩을 Encoding 클래스에서 지원하는 문자열로 설정합니다. 만약 인코딩을 null로 지정하면 기본 인코딩을 사용합니다.그리고 standalone의 값은 “yes” 혹은 “no”을 사용할 수 있고 null이나 string.Empty을 사용하면 선언에 기록하지 않습니다.
XmlDeclartaion 개체는 XmlDocument 개체의 DocumentElement 속성 앞에 추가합니다.
요소를 만들 때는 CreateElement 메서드를 사용합니다.
특성을 추가할 때는 이미 만들어진 요소에 추가합니다. 특성을 추가할 요소 개체에 SetAttribute 메서드를 이용하여 특성을 추가할 수 있습니다. 또 다른 방법으로는 CreateAttribute 메서드를 이용해 XmlAtrribute 노드를 만들고 나서 추가할 요소 개체의 특성 컬렉션에 추가할 수도 있습니다.
주석을 만들 때는 CreateComment 메서드를 사용합니다.
이 외에도 다른 노드 형식의 개체를 위한 Create 메서드를 제공하고 있습니다.
이렇게 생성한 노드 개체는 XmlDocument 개체의 노드를 삽입하는 메소드를 이용하여 원하는 위치에 노드를 추가할 수 있습니다.
다음은 앞에서 설명한 내용을 정리한 소스 코드입니다.
XML.NET