XML 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"로 변경합니다

TIY

모든 <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"로 변경하세요

TIY

모든 <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"로 변경하세요

TIY