XML DOM 노드 값 변경
- 이전 페이지 DOM 노드 가져오기
- 다음 페이지 DOM 노드 제거
nodeValue 속성은 노드 값을 변경하는 데 사용됩니다。
setAttribute() 메서드는 속성 값을 변경하는 데 사용됩니다。
예제
아래 예제는 XML 파일을 사용합니다 books.xml。
함수 loadXMLDoc()외부 JavaScript에 위치하며 XML 파일을 로드하는 데 사용됩니다。
- 요소의 텍스트 노드 변경
- 이 예제에서는 "books.xml"에서 첫 번째 <title> 요소의 텍스트 노드를 변경하기 위해 nodeValue 속성을 사용합니다。
- setAttribute을 사용하여 속성 값을 변경합니다
- 이 예제에서는 첫 번째 <book>의 "category" 속성 값을 변경하기 위해 setAttribute() 메서드를 사용합니다。
- nodeValue을 사용하여 속성 값을 변경합니다
- 이 예제에서는 첫 번째 <book>의 "category" 속성 값을 변경하기 위해 nodeValue 속성을 사용합니다。
요소의 값 변경
DOM에서 각 구성 요소는 노드입니다. 요소 노드는 텍스트 값을 가지지 않습니다。
요소의 텍스트는 자식 노드에 저장됩니다. 이 노드는 텍스트 노드라고 합니다。
요소 텍스트 변경 방법은 이 자식 노드(텍스트 노드)의 값을 변경하는 것입니다。
텍스트 노드의 값 변경
nodeValue 속성은 텍스트 노드의 값을 변경하는 데 사용될 수 있습니다。
아래 코드 단편은 첫 번째 <title> 요소의 텍스트 노드 값을 변경합니다:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Hello World";
예제 설명:
- 사용하여 loadXMLDoc() "books.xml" xmlDoc에 로드하세요
- 첫 번째 <title> 요소의 텍스트 노드를 가져옵니다
- 이 텍스트 노드의 노드 값을 "Hello World"로 변경합니다
모든 <title> 요소의 텍스트 노드를 순회하고 변경합니다:TIY
속성 값 변경
DOM에서 속성도 노드입니다. 요소 노드와 달리 속성 노드는 텍스트 값을 가집니다。
속성 값 변경 방법은 그 텍스트 값을 변경하는 것입니다。
setAttribute() 메서드나 속성 노드의 nodeValue 속성을 사용하여 이 작업을 완료할 수 있습니다。
setAttribute()를 사용하여 속성을 변경합니다
setAttribute() 메서드는 기존 속성의 값을 설정하거나 새로운 속성을 생성합니다.
아래 코드는 <book> 요소의 category 속성을 변경합니다:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("category","child");
예제 설명:
- 사용하여 loadXMLDoc() "books.xml" xmlDoc에 로드하세요
- 첫 번째 <book> 요소를 가져오세요
- "category" 속성의 값을 "child"로 변경하세요
모든 <title>을 순회하며 새로운 속성을 추가하세요:TIY
주의사항:속성 노드가 존재하지 않으면, 지정된 이름과 값을 가진 새로운 속성을 생성합니다.
nodeValue를 사용하여 속성을 변경합니다
nodeValue 속성은 속성 노드의 값을 변경할 수 있습니다:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; y=x.getAttributeNode("category"); y.nodeValue="child";
예제 설명:
- 사용하여 loadXMLDoc() "books.xml" xmlDoc에 로드하세요
- 첫 번째 <book> 요소의 "category" 속성을 가져오세요
- 해당 속성 노드의 값을 "child"로 변경하세요
- 이전 페이지 DOM 노드 가져오기
- 다음 페이지 DOM 노드 제거