최신 웹 개발 튜토리얼
 

XML DOM은 노드 추가


그것을 자신을 시도 - 예를

아래의 예는 XML 파일의 사용 에서는 Books.xml .

마지막 자식 노드 다음에 노드를 추가
이 예에서는 사용 appendChild() 기존 노드에 자식 노드를 추가 할 수 있습니다.

지정된 자식 노드 전에 노드를 추가합니다
이 예에서는 사용 insertBefore() 지정된 자식 노드 전에 노드를 삽입합니다.

새로운 속성을 추가
이 예는 사용 setAttribute() 새로운 속성을 추가 할 수있는 방법을.

텍스트 노드에 데이터를 추가
이 예에서는 사용 insertData() 기존의 텍스트 노드에 데이터를 삽입 할 수 있습니다.

×

머리글


노드를 추가 - appendChild()

appendChild() 메서드는 기존 노드에 자식 노드를 추가합니다.

새로운 노드가 추가됩니다 (appended) 기존의 자식 노드 후.

Note: 사용 insertBefore() 노드의 위치가 중요한 경우.

이 코드는 요소를 생성한다 (<edition>) , 제 1의 마지막 아이를 추가합니다 <book> 요소 :

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
»그것을 자신을 시도

예 설명 :

  1. 가정 " Books.xml을은 "해당 xmldoc에로드
  2. 새 노드 생성 <edition>
  3. 처음에 노드를 추가 <book> 요소

이 코드는, 상기와 동일 않지만 새로운 요소 값으로 추가된다 :

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
»그것을 자신을 시도

예 설명 :

  1. 가정 " Books.xml을은 "해당 xmldoc에로드
  2. 새 노드 생성 <edition>
  3. 새로운 텍스트 노드 만들기 "first"
  4. 받는 텍스트 노드를 추가 <edition> 노드
  5. 추가] <addition> 받는 노드 <book> 요소를

노드를 삽입 - insertBefore()

insertBefore() 메소드는 지정된 자식 노드 전에 노드를 삽입합니다.

추가 된 노드의 위치가 중요 할 경우이 방법이 유용합니다 :

newNode = xmlDoc.createElement("book");

x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y);
»그것을 자신을 시도

예 설명 :

  1. 가정 " Books.xml을은 "해당 xmldoc에로드
  2. 새로운 요소 노드 만들기 <book>
  3. 마지막 앞에 새 노드를 삽입 <book> 요소 노드

의 두 번째 매개 변수 경우 insertBefore() null의 경우, 새로운 노드는 마지막으로 기존의 아이 노드 다음에 추가됩니다.

x.insertBefore(newNode,null) 및 x.appendChild(newNode) X에 새로운 자식 노드를 추가합니다 모두.


새 속성 추가

setAttribute() 메소드는 속성의 값을 설정합니다.

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
»그것을 자신을 시도

예 설명 :

  1. "가정 Books.xml을하는 것은 "해당 xmldoc에로드 된
  2. 속성 값 설정 "edition""first" 첫 번째에 대한 <book> 요소

있는 방법이라고 추가가없는 Attribute()
setAttribute() 속성이 존재하지 않는 경우 새로운 속성을 생성합니다.

Note: 속성이 이미 존재하는 경우 setAttribute() 메소드가 기존 값을 덮어 쓰게됩니다.


텍스트 노드에 텍스트 추가 - insertData()

insertData() 메소드는 기존의 텍스트 노드에 데이터를 삽입합니다.

insertData() 메서드는 두 개의 매개 변수가 있습니다 :

  • 오프셋 - 삽입하는 문자를 시작하는 경우 (starts at zero)
  • 문자열 - 삽입 할 문자열

다음 코드는 추가합니다 "Easy" 최초의 텍스트 노드에 <title> 로드 된 XML의 요소 :

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");
»그것을 자신을 시도