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 함수

×

Header

XML DOM 튜토리얼


XML DOM

DOM node tree

DOM이란 무엇입니까?

DOM은 문서에 액세스하고 조작하기 위한 표준을 정의합니다.

"W3C DOM(문서 개체 모델)은 프로그램과 스크립트가 문서의 콘텐츠, 구조 및 스타일에 동적으로 액세스하고 업데이트할 수 있도록 하는 플랫폼 및 언어 중립적 인터페이스입니다."

HTML DOM은 HTML 문서에 액세스하고 조작하는 표준 방법을 정의합니다. HTML 문서를 트리 구조로 표시합니다.

XML DOM은 XML 문서에 액세스하고 조작하는 표준 방법을 정의합니다. XML 문서를 트리 구조로 나타냅니다.

DOM을 이해하는 것은 HTML이나 XML로 작업하는 모든 사람에게 필수입니다.


HTML DOM

모든 HTML 요소는 HTML DOM을 통해 액세스할 수 있습니다.

이 예는 id="demo"인 HTML 요소의 값을 변경합니다.

예시

<h1 id="demo">This is a Heading</h1>

<script>
document.getElementById("demo").innerHTML = "Hello World!";
</script>

이 예는 HTML 문서에서 첫 번째 <h1> 요소의 값을 변경합니다.

예시

<h1>This is a Heading</h1>

<h1>This is a Heading</h1>

<script>
document.getElementsByTagName("h1")[0].innerHTML = "Hello World!";
</script>

참고: HTML 문서에 <h1> 요소가 하나만 포함된 경우에도 getElementsByTagName() 메서드가 항상 배열을 반환하기 때문에 배열 인덱스 [0]을 지정해야 합니다.

JavaScript 튜토리얼 에서 HTML DOM에 대해 더 많이 배울 수 있습니다 .



XML DOM

모든 XML 요소는 XML DOM을 통해 액세스할 수 있습니다.

XML DOM은 다음과 같습니다.

  • XML을 위한 표준 개체 모델
  • XML을 위한 표준 프로그래밍 인터페이스
  • 플랫폼 및 언어 독립적
  • W3C 표준

, XML DOM은 XML 요소를 가져오고, 변경하고, 추가하거나 삭제하는 방법에 대한 표준입니다.


XML 요소의 값 가져오기

이 코드는 XML 문서에서 첫 번째 <title> 요소의 텍스트 값을 검색합니다.

예시

txt = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;

XML 파일 로드

아래 예제에 사용된 XML 파일은 books.xml 입니다.

이 예는 "books.xml"을 xmlDoc으로 읽고 books.xml에서 첫 번째 <title> 요소의 텍스트 값을 검색합니다.

예시

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();

function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    document.getElementById("demo").innerHTML =
    xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
}
</script>

</body>
</html>

예시 설명

  • xmlDoc - 파서에 의해 생성된 XML DOM 객체.
  • getElementsByTagName("title")[0] - 첫 번째 <title> 요소 가져오기
  • childNodes[0] - <title> 요소의 첫 번째 자식(텍스트 노드)
  • nodeValue - 노드의 값(텍스트 자체)

XML 문자열 로드

이 예에서는 텍스트 문자열을 XML DOM 개체에 로드하고 JavaScript로 정보를 추출합니다.

예시

<html>
<body>

<p id="demo"></p>

<script>
var text, parser, xmlDoc;

text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>

</body>
</html>

프로그래밍 인터페이스

DOM은 XML을 노드 개체 집합으로 모델링합니다. 노드는 JavaScript 또는 기타 프로그래밍 언어로 액세스할 수 있습니다. 이 튜토리얼에서는 JavaScript를 사용합니다.

DOM에 대한 프로그래밍 인터페이스는 설정된 표준 속성 및 메서드에 의해 정의됩니다.

속성 은 흔히 있는 것(즉, 노드 이름은 "책")이라고 합니다.

메소드 는 종종 완료된 것으로 언급됩니다(예: "책" 삭제).


XML DOM 속성

다음은 몇 가지 일반적인 DOM 속성입니다.

  • x.nodeName - x의 이름
  • x.nodeValue - x의 값
  • x.parentNode - x의 부모 노드
  • x.childNodes - x의 자식 노드
  • x.attributes - x의 속성 노드

참고: 위 목록에서 x는 노드 개체입니다.


XML DOM 메서드

  • x.getElementsByTagName( name ) - 지정된 태그 이름을 가진 모든 요소 가져오기
  • x.appendChild( node ) - x에 자식 노드를 삽입합니다.
  • x.removeChild( node ) - x에서 자식 노드를 제거합니다.

참고: 위 목록에서 x는 노드 개체입니다.