XML DOM 노드
XML 문서의 각 구성 요소는 노드입니다。
노드
DOM에 따르면, XML 문서의 각 구성 요소는 다음과 같습니다:노드。
DOM은 다음과 같이 정의됩니다:
- 전체 문서는 문서 노드입니다
- 각 XML 태그는 요소 노드입니다
- XML 요소에 포함된 각 속성은 속성 노드입니다
- XML 요소에 포함된 텍스트는 텍스트 노드입니다
- 비고는 비고 노드입니다
DOM 인스턴스
아래의 XML 파일(books.xml)을 확인해 주세요:
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="web"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> <book category="web"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> </bookstore>
위의 XML에서 루트 노드는 <bookstore>입니다. 문서의 모든 다른 노드는 <bookstore>에 포함됩니다.
루트 노드 <bookstore>는 네 개의 <book> 요소를 가집니다.
첫 번째 <book> 요소는 네 개의 노드를 가집니다:<title>, <author>, <year> 및 <price>로, 각 노드는 "Harry Potter", "J K. Rowling", "2005" 및 "29.99"와 같은 텍스트 노드를 포함합니다.
텍스트는 항상 텍스트 노드에 저장됩니다
DOM 처리에서 일반적인 오류는 요소 노드가 텍스트를 포함하고 있다고 생각하는 것입니다.
그러나 요소의 텍스트는 텍스트 노드에 저장됩니다.
이 예제에서:<year>2005</year>,요소 노드 <year>는 "2005" 값의 텍스트 노드를 가지고 있습니다.
"2005" 아니요 <year> 요소의 값을!