XML DOM 노드 생성
예제
아래의 예제에서는 XML 파일을 사용합니다 books.xml
함수 loadXMLDoc()외부 JavaScript에 위치하고 XML 파일을 로드하는 데 사용됩니다.
- 요소 노드를 생성합니다
- createElement()를 사용하여 새로운 요소 노드를 생성하고 appendChild()를 사용하여 그 노드를 노드에 추가합니다.
- createAttribute를 사용하여 속성 노드를 생성합니다
- createAttribute()를 사용하여 새로운 속성 노드를 생성하고 setAttributeNode()를 사용하여 그 노드를 요소에 삽입합니다.
- setAttribute를 사용하여 속성 노드를 생성합니다
- setAttribute()를 사용하여 요소에 새로운 속성을 생성합니다.
- 텍스트 노드를 생성합니다
- 이 예제에서는 createTextNode()를 사용하여 새로운 텍스트 노드를 생성하고 appendChild()를 사용하여 그 노드를 요소에 추가합니다.
- CDATA 섹션 노드를 생성합니다
- 이 예제에서는 createCDATAsection()를 사용하여 CDATA 섹션 노드를 생성하고 appendChild()를 사용하여 그 노드를 요소에 추가합니다.
- 注释 노드 생성
- 이 예제에서는 createComment()를 사용하여 comment 노드를 생성하고 appendChild()를 사용하여 그 노드를 요소에 추가합니다.
새로운 요소 노드를 생성합니다
createElement() 메서드는 새로운 요소 노드를 생성합니다:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
예제 설명:
- 사용하여 loadXMLDoc() "을 추가하세요books.xml" xmlDoc에 로드하세요
- 새로운 요소 노드 <edition>을 생성합니다
- 첫 번째 <book> 요소에 이 요소 노드를 추가합니다
모든 <book> 요소에 요소를 순회하며 추가합니다:TIY
새로운 속성 노드를 생성합니다
createAttribute()는 새로운 속성 노드를 생성합니다:
xmlDoc=loadXMLDoc("books.xml"); newatt=xmlDoc.createAttribute("edition"); newatt.nodeValue="first"; x=xmlDoc.getElementsByTagName("title"); x[0].setAttributeNode(newatt);
예제 설명:
- 사용하여 loadXMLDoc() "을 추가하세요books.xml" xmlDoc에 로드하세요
- 새로운 속성 노드 "edition"를 생성합니다
- 첫 번째 <title> 요소에 이 새로운 속성 노드를 추가합니다
모든 <title> 요소를 순회하며 새로운 속성 노드를 추가합니다:TIY
주의사항: 속성이 이미 존재하면 새로운 속성에 의해 대체됩니다.
setAttribute()를 사용하여 속성을 생성합니다
setAttribute()는 속성이 존재하지 않는 경우 새로운 속성을 생성할 수 있으므로 이 메서드를 사용할 수 있습니다.
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
예제 설명:
- 사용하여 loadXMLDoc() "을 추가하세요books.xml" xmlDoc에 로드하세요
- 첫 번째 <book> 요소에值为 "first"의 속성을 설정(생성)합니다
모든 <title> 요소를 순회하며 새로운 속성을 추가합니다:TIY
텍스트 노드를 생성합니다
createTextNode() 메서드는 새로운 텍스트 노드를 생성합니다:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); newtext=xmlDoc.createTextNode("first"); newel.appendChild(newtext); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
예제 설명:
- 사용하여 loadXMLDoc() "을 추가하세요books.xml" xmlDoc에 로드하세요
- 새로운 요소 노드 <edition>을 생성합니다
- 텍스트 "first"인 새로운 텍스트 노드를 생성합니다
- 이 요소 노드에 새로운 텍스트 노드를 추가합니다
- 첫 번째 <book> 요소에 새로운 요소 노드를 추가합니다
모든 <book> 요소에 텍스트 노드를 가진 요소 노드를 추가합니다:TIY
CDATA Section 노드를 생성합니다.
createCDATASection() 메서드는 새로운 CDATA section 노드를 생성합니다.
xmlDoc=loadXMLDoc("books.xml"); newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newCDATA);
예제 설명:
- 사용하여 loadXMLDoc() "을 추가하세요books.xml" xmlDoc에 로드하세요
- 새로운 CDATA 섹션 노드를 생성하세요
- 이 새로운 CDATA 섹션 노드를 첫 번째 <book> 요소에 추가하세요
모든 <book> 요소에 하나의 CDATA 섹션을 추가하려면:TIY
注释 노드 생성
createComment() 메서드는 새로운注释 노드를 생성합니다.
xmlDoc=loadXMLDoc("books.xml"); newComment=xmlDoc.createComment("Revised March 2008"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newComment);
예제 설명:
- 사용하여 loadXMLDoc() "을 추가하세요books.xml" xmlDoc에 로드하세요
- 새로운注释 노드를 생성하세요
- 이 새로운注释 노드를 첫 번째 <book> 요소에 추가하세요
모든 <book> 요소에 하나의 comment 노드를 추가하려면:TIY