XML DOM 노드
XML DOM에 따르면, XML 문서의 모든 내용은노드:
- 전체 문서는 문서 노드입니다
- 각 XML 요소는 요소 노드입니다
- XML 요소의 텍스트는 텍스트 노드입니다
- 각 속성은 속성 노드입니다
- 비고는 비고 노드입니다
DOM 예제
다음 XML 파일을 보세요 (books.xml):
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <press>江苏文艺出版社</press> <year>2013</year> <price>35</price> <ISBN>9787539962771</ISBN> </book> <book category="children"> <title lang="zh">우아한 고양이 아빠</title> <author>로尔德 달</author> <translator>代维</translator> <press>mingtian chu ban she</press> <year>2009</year> <price>10</price> <ISBN>9787533259563</ISBN> </book> <book category="문학"> <title lang="zh">익숙함을 낯선 것으로 만들다</title> <author>zigemang baoman</author> <author>pieter haufner</author> <translator>wang li qiu</translator> <press>nanjing da xue chu ban she</press> <year>2023</year> <price>68</price> <ISBN>9787305269387</ISBN> </book> <book category="과학"> <title lang="zh">너는 비행하고 싶은가, 새처럼?</title> <author>li chao de dao金斯</author> <author>yan a luenzuo wa</author> <translator>gaotianyu</translator> <press>�unan keji shu ce she</press> <year>2023</year> <price>88</price> <ISBN>9787571019075</ISBN> </book> <book category="정치" cover="평간본"> <title lang="zh">미국의 민주주의에 대해</title> <author>도크벨</author> <translator>도광량</translator> <press>상업 출판사</press> <year>1989</year> <price>60</price> <ISBN>9787100124553</ISBN> </book> </bookstore>
위의 XML에서 루트 점은 <bookstore>입니다。
문서의 모든 다른 점은 <bookstore>에 포함되어 있습니다。
루트 점 <bookstore>는 5 개의 <book> 점을 가지고 있습니다。
첫 번째 <book> 점은 6 개의 자节点를 포함하고 있습니다:<title>、<author>、<press>、<year>、<price> 및 <ISBN>。
각 자식 노드는 텍스트 노드를 포함하고 있습니다:
- "雅舍谈吃"
- "梁实秋"
- "江苏文艺出版社"
- "2012"
- "48.00"
- "9787100011105"
텍스트는 항상 텍스트 노드에 저장됩니다
DOM 처리에서 일반적인 오류는 요소 노드가 텍스트를 포함한다고 생각하는 것입니다。
그러나 요소 노드의 텍스트는 텍스트 노드에 저장됩니다。
이 예제에서:<year>2013</year>
,요소 노드 <year>는 "2012" 값을 가진 텍스트 노드를 포함합니다。
"2012" 아니요 <year> 요소의 값을 표시합니다!
XML DOM 노드 트리
XML DOM은 XML 문서를 트리 구조로 본다. 이 트리 구조는노드 트리.
이 트리를 통해 모든 노드에 접근할 수 있습니다. 내용을 수정하거나 지우거나 새로운 요소를 생성할 수 있습니다.
이 노드 트리는 노드의 집합과 그들 간의 연결을 보여줍니다. 이 트리는 루트 노드에서 시작하여 트리의 가장 하위层级로 텍스트 노드로 가는 방향으로 가지를 내리게 됩니다:

위 그림은 XML 파일을 나타냅니다 books.xml.
부모, 자식, 형제 노드
노드 트리의 노드는 서로 다른 등급 관계를 가집니다.
용어 "부모", "자식", "형제"는 이러한 관계를 설명하는 데 사용됩니다. 부모 노드는 자식 노드가 있으며, 동일层级에 있는 자식 노드는 동일层级 노드 또는 형제 노드(형제 또는 누이)라고 합니다.
- 노드 트리에서 최상위 노드는 루트 노드라고 합니다
- 루트 노드를 제외하고, 각 노드는 하나의 부모 노드를 가집니다
- 노드는 제한 없이 많은 자식 노드를 가질 수 있습니다
- 잎 노드는 자식 노드가 없는 노드입니다
- 형제 노드는 같은 부모 노드를 가진 노드입니다
아래 그림은 노드 트리의 일부와 노드 간의 관계를 보여줍니다:

XML 데이터는 트리 형태로 구조화되었기 때문에, 트리의 정확한 구조나 포함된 데이터 유형을 알지 않더라도 순회할 수 있습니다。
이 튜토리얼의 후반에서 노드 트리를 순회하는 방법에 대해 더 많이 배울 것입니다。
주석:부모 노드:Parent Node, 자식 노드:Children Node, 동일层级 노드:Sibling Node。
첫 번째 자식 노드 - 마지막 자식 노드
여기서 다음 XML 부분을 확인하십시오:
<bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <press>江苏文艺出版社</press> <year>2013</year> <price>35</price> <ISBN>9787100011105</ISBN> </book> </bookstore>
위의 XML에서 <title> 요소는 <book> 요소의 첫 번째 자식 노드이고, <ISBN> 요소는 <book> 요소의 마지막 자식 노드입니다.
또한, <book> 요소는 <title>, <author>, <year>, <press>, <price> 및 <ISBN> 요소의 부모 노드입니다.