XML 튜토리얼

XML 홈 XML 소개 XML 사용 방법 XML 트리 XML 구문 XML 요소 XML 속성 XML 네임스페이스 XML 표시 XML HttpRequest XML 파서 XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 유효성 검사기 XML DTD XML 스키마 XML 서버 XML 예제 XML 퀴즈 XML 인증서

XML AJAX

AJAX 소개 AJAX XMLHttp AJAX 요청 AJAX 응답 AJAX XML 파일 AJAX PHP AJAX ASP AJAX 데이터베이스 AJAX 애플리케이션 AJAX 예제

XML DOM

DOM 소개 DOM 노드 DOM 액세스 DOM 노드 정보 DOM 노드 목록 DOM 순회 DOM 탐색 DOM 값 가져오기 DOM 변경 노드 DOM 제거 노드 DOM 교체 노드 DOM 생성 노드 DOM 추가 노드 DOM 복제 노드 DOM 예제

XPath 튜토리얼

XPath 소개 XPath 노드 XPath 구문 XPath 축 XPath 연산자 XPath 예제

XSLT 튜토리얼

XSLT 소개 XSL 언어 XSLT 변환 XSLT <템플릿> XSLT <값> XSLT <각각> XSLT <정렬> XSLT <만약> XSLT <선택> XSLT 적용 클라이언트의 XSLT 서버의 XSLT XSLT XML 편집 XSLT 예

XQuery 튜토리얼

XQuery 소개 XQuery 예제 XQuery FLWOR 엑스쿼리 HTML XQuery 용어 XQuery 구문 XQuery 추가 XQuery 선택 XQuery 함수

XML DTD

DTD 소개 DTD 빌딩 블록 DTD 요소 DTD 속성 DTD 요소 대 속성 DTD 엔터티 DTD 예

XSD 스키마

XSD 소개 XSD 방법 XSD <스키마> XSD 요소 XSD 속성 XSD 제한 사항

XSD 컴플렉스

XSD 요소 XSD 비어 있음 XSD 요소만 XSD 텍스트만 XSD 혼합 XSD 지표 XSD <모든> XSD <모든 속성> XSD 대체 XSD 예

XSD 데이터

XSD 문자열 XSD 날짜 XSD 숫자 XSD 기타 XSD 참조

서비스

XML 서비스 XML WSDL XML SOAP XML RDF XML RSS

참고문헌

DOM 노드 유형 DOM 노드 DOM 노드 목록 DOM NamedNodeMap DOM 문서 DOM 요소 DOM 속성 DOM 텍스트 DOM CDATA DOM 주석 DOM XMLHttpRequest DOM 파서 XSLT 요소 XSLT/XPath 함수

XML DOM 노드


XML DOM에 따르면 XML 문서의 모든 것은 노드 입니다 .

  • 전체 문서는 문서 노드입니다.
  • 모든 XML 요소는 요소 노드입니다.
  • XML 요소의 텍스트는 텍스트 노드입니다.
  • 모든 속성은 속성 노드입니다.
  • 주석은 주석 노드입니다.

DOM 예제

다음 XML 파일( books.xml )을 보십시오.

×

헤더

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</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>
  <book category="web" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

위 XML의 루트 노드 이름은 <bookstore>입니다.

문서의 다른 모든 노드는 <bookstore>에 포함되어 있습니다.

루트 노드 <bookstore>에는 4개의 <book> 노드가 있습니다.

첫 번째 <book> 노드는 <title>, <author>, <year> 및 <price>와 같은 자식 노드를 보유합니다.

자식 노드에는 "Everyday Italian", "Giada De Laurentiis", "2005" 및 "30.00"이라는 텍스트 노드가 각각 하나씩 있습니다.



텍스트는 항상 텍스트 노드에 저장됩니다.

DOM 처리의 일반적인 오류는 요소 노드에 텍스트가 포함될 것으로 예상하는 것입니다.

그러나 요소 노드의 텍스트는 텍스트 노드에 저장됩니다.

이 예: <year>2005</year> 에서 요소 노드 <year>는 값이 "2005"인 텍스트 노드를 보유합니다.

"2005"는 <연도> 요소의 값 이 아닙니다 !


XML DOM 노드 트리

XML DOM은 XML 문서를 트리 구조로 봅니다. 트리 구조를 노드 트리라고 합니다.

모든 노드는 트리를 통해 액세스할 수 있습니다. 내용을 수정하거나 삭제할 수 있으며 새 요소를 만들 수 있습니다.

노드 트리는 노드 집합과 노드 간의 연결을 보여줍니다. 트리는 루트 노드에서 시작하여 트리의 가장 낮은 수준에 있는 텍스트 노드로 분기됩니다.

DOM 노드 트리

위 이미지는 XML 파일 books.xml 을 나타냅니다 .


노드 부모, 자식 및 형제 자매

노드 트리의 노드는 서로 계층 관계가 있습니다.

부모, 자식 및 형제라는 용어는 관계를 설명하는 데 사용됩니다. 부모 노드에는 자식이 있습니다. 같은 수준에 있는 아이들을 형제자매(형제 또는 자매)라고 합니다.

  • 노드 트리에서 최상위 노드를 루트라고 합니다.
  • 루트를 제외한 모든 노드에는 정확히 하나의 부모 노드가 있습니다.
  • 노드는 임의의 수의 자식을 가질 수 있습니다.
  • 리프는 자식이 없는 노드입니다.
  • 형제는 부모가 같은 노드입니다.

다음 이미지는 노드 트리의 일부와 노드 간의 관계를 보여줍니다.

노드 트리

XML 데이터는 트리 형식으로 구조화되어 있기 때문에 트리의 정확한 구조와 그 안에 포함된 데이터 유형을 알지 못해도 탐색할 수 있습니다.

이 튜토리얼의 뒷부분에서 노드 트리를 탐색하는 방법에 대해 자세히 알아볼 것입니다.


첫째 아이 - 마지막 아이

다음 XML 조각을 보십시오.

<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
</bookstore>

위의 XML에서 <title> 요소는 <book> 요소의 첫 번째 자식이고 <price> 요소는 <book> 요소의 마지막 자식입니다.

또한 <book> 요소는 <title>, <author>, <year>, <price> 요소의 부모 노드입니다.