C# - XmlDocument, XmlNode, Xpath 표현식 - XML 문서 조작

반응형

 

XmlDocument

  • XML 문서를 조작하는 데 사용되는 클래스
  • XML 문서 로드, 특정 요소 선택, 새로운 요소와 속성 생성, 요소 추가, 요소 제거, 요소 수정 등 다양한 작업 수행

XmlDocument 객체 생성

XmlDocument doc = new XmlDocument();
doc.Load("file.xml");

XmlDocument 메서드

  • Load: XML 문서 로드
  • SelectSingleNode: XPath 표현식을 사용하여 단일 노드 선택
  • SelectNodes: XPath 표현식을 사용하여 노드 집합 선택
  • CreateElement: 새로운 요소 생성
  • CreateAttribute: 새로운 속성 생성
  • CreateTextNode: 새로운 텍스트 노드 생성
  • AppendChild: 요소 추가
  • InsertAfter: 요소 삽입

XPath 표현식

  • XML 문서에서 요소를 선택하는 데 사용되는 언어
  • 아래와 같은 구성 요소를 포함 할 수 있음
    • 노드 선택자
    • 관계 연산자
    • 논리 연산자
    • 함수
// 특정 요소 선택
XmlNode node = doc.SelectSingleNode("//root/child");

// 텍스트 노드 선택
XmlNode node = doc.SelectSingleNode("//root/child/text()");

// 속성 선택
XmlNode node = doc.SelectSingleNode("//root/child/@attribute");

// 노드 집합 선택
XmlNodeList nodes = doc.SelectNodes("//root/child");

XmlNode

  • XML 문서의 단일 노드를 나타내는 클래스
  • XmlDocument 클래스와 함께 XML 문서를 조작하는 데 사용
  • XML 문서의 단일 노드를 선택하고, 해당 노드의 속성 및 하위 요소 조작

XmlNode 객체 생성

XmlDocument doc = new XmlDocument();
doc.Load("file.xml");

XmlNode node = doc.SelectSingleNode("//root/child/grandchild");

XmlNode 속성

  • InnerText 속성: 현재 노드의 모든 하위 요소와 텍스트 노드의 값을 가져오거나 설정
  • OuterXml 속성: 현재 노드와 모든 하위 요소를 포함하는 XML 문자열 호출
  • Attributes 속성: 현재 노드의 모든 속성을 나타내는 XmlAttributeCollection 객체 호출
  • ChildNodes 속성: 현재 노드의 모든 하위 노드를 나타내는 XmlNodeList 객체 호출

XmlNode 메서드

  • SelectSingleNode 메서드: XPath 표현식을 사용하여 현재 노드의 하위 노드 중 첫 번째 노드 선택
  • SelectNodes 메서드: XPath 표현식을 사용하여 현재 노드의 하위 노드 모두 선택
  • AppendChild 메서드: 현재 노드의 하위 노드로 새로운 노드 추가
  • RemoveChild 메서드: 현재 노드의 하위 노드 제거
반응형