XML DOM 노드 정보
노드 속성: nodeName, nodeValue 및 nodeType.
예제
아래의 예제는 XML 파일을 사용합니다 books.xml.
함수 loadXMLDoc()외부 JavaScript에 위치하고 있으며, XML 파일을 로드하는 데 사용됩니다.
- 요소 노드의 노드 이름 가져오기
- 이 예제에서는 nodeName 속성을 사용하여 "books.xml"의 루트 요소의 노드 이름을 가져옵니다.
- 텍스트 노드에서 텍스트 가져오기
- 이 예제에서는 nodeValue 속성을 사용하여 "books.xml"의 첫 번째 <title> 요소의 텍스트를 가져옵니다.
- 텍스트 노드의 텍스트 변경
- 이 예제에서는 nodeValue 속성을 사용하여 "books.xml"의 첫 번째 <title> 요소의 텍스트를 변경합니다.
- 요소 노드의 노드 이름과 타입 가져오기
- 이 예제에서는 nodeName과 nodeType 속성을 사용하여 "books.xml"의 루트 요소의 노드 이름과 타입을 가져옵니다.
노드의 속성
XML 문서 객체 모델 (DOM)에서 각 노드는 다음과 같습니다객체.
객체는 메서드(기능)과 속성(객체에 대한 정보)을 가지고 있으며, JavaScript를 통해 접근하고操作할 수 있습니다.
세 가지 중요한 XML DOM 노드 속성은 다음과 같습니다:
- nodeName
- nodeValue
- nodeType
nodeName 속성
nodeName 속성은 노드의 이름을 정의합니다.
- nodeName은 읽기 전용입니다
- 요소 노드의 nodeName은 태그 이름과 같습니다
- 속성 노드의 nodeName은 속성의 이름입니다
- 텍스트 노드의 nodeName은 항상 #text입니다
- 문서 노드의 nodeName은 항상 #document입니다
nodeValue 속성
nodeValue 속성은 노드의 값을 정의합니다.
- 요소 노드의 nodeValue는 undefined입니다
- 텍스트 노드의 nodeValue는 텍스트 자체입니다
- 속성 노드의 nodeValue는 속성의 값입니다
예제 1: 요소 값 가져오기
아래의 코드는 첫 번째 <title> 요소의 텍스트 노드의 값을 검색합니다:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; txt=x.nodeValue;
결과: txt = "Harry Potter"
코드 설명:
- loadXMLDoc()를 사용하여 "books.xml"을 xmlDoc에 로드합니다
- 첫 번째 <title> 요소 노드의 텍스트 노드를 가져옵니다
- txt 변수를 텍스트 노드의 값으로 설정합니다
예제 2: 요소 값 변경
아래의 코드는 첫 번째 <title> 요소의 텍스트 노드의 값을 변경합니다:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Cooking";
코드 설명:
- loadXMLDoc()를 사용하여 "books.xml"을 xmlDoc에 로드합니다
- 첫 번째 <title> 요소 노드의 텍스트 노드를 가져옵니다
- 텍스트 노드의 값을 "Easy Cooking"으로 변경합니다
nodeType 속성
nodeType 속성은 노드의 타입을 정의합니다.
nodeType는 읽기 전용입니다.
가장 중요한 노드 타입은 다음과 같습니다:
요소 타입 | 노드 타입 |
---|---|
요소 | 1 |
속성 | 2 |
텍스트 | 3 |
비고 | 8 |
문서 | 9 |