Latest web development tutorials

고급 XML의 DOM

XML의 DOM - 고급

에서 이 튜토리얼의 이전 장 , 우리는 XML DOM을 소개하고, XML 문서에서 데이터를 검색 할 XML DOM getElementsByTagName () 메소드를 사용합니다.

이 장에서 우리는 다른 중요한 XML의 DOM의 메소드를 결합합니다.

당신은 우리에 수 XML DOM 튜토리얼 은 XML DOM 지식에 대한 자세한 내용입니다.


요소의 값을 가져옵니다

XML 파일은 다음 실시 예에 사용 : 에서는 Books.xml .

다음의 예는 <TITLE> 요소의 첫 번째 문자 값을 검색 :

txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;

»시도


속성의 값을 가져옵니다

다음 예는 "LANG"특성의 첫 번째 <TITLE> 요소의 텍스트 값을 검색 :

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

»시도


요소의 값을 변경

다음의 예는 <제목> 요소를 첫 번째 텍스트 값을 변경합니다 :

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

»시도


새 속성 만들기

DOM은 XML의 setAttribute () 메소드는 기존의 특성 값을 변경하거나 새로운 특성을 생성하기 위해 사용될 수있다.

다음의 예는 각각의 <책> 요소에 추가 한 후 (판 = "첫 번째") 새로운 속성을 생성하고 :

x=xmlDoc.getElementsByTagName("book");

for(i=0;i<x.length;i++)
{
x[i].setAttribute("edition","first");
}

»시도


요소 만들기

는 XML DOM의 createElement () 메소드는 새로운 요소 노드를 작성합니다.

는 XML DOM의 createTextNode () 메소드는 새로운 텍스트 노드를 작성합니다.

는 XML DOM에 appendChild () 메서드 (마지막 자식 노드 후) 노드에 자식 노드를 추가합니다.

텍스트 콘텐츠와 새로운 요소를 만들려면 새로운 요소 노드 요소와 새로운 텍스트 노드를 작성해야하고, 그는 기존의 노드에 추가됩니다.

다음의 예는 다음 텍스트로, 새로운 요소 (<버전>)을 작성 먼저, 다음 첫 번째 <책> 요소에 추가합니다 :

newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);

x=xmlDoc.getElementsByTagName("book");
x[0].appendChild(newel);

»시도

예를 설명

  • 은 <판> 요소를 만들기
  • 가치 창조 "첫 번째"텍스트 노드
  • 새로운 <판> 요소에 텍스트 노드를 추가
  • 의 <판> 요소는 첫 번째 <책> 요소에 추가

요소를 제거

다음은 첫 번째 노드의 첫 번째 <책> 요소를 제거합니다 :

x=xmlDoc.getElementsByTagName("book")[0];
x.removeChild(x.childNodes[0]);

»시도

참고 : 위의 예는 브라우저와 다른에 따라 발생할 수 있습니다.빈 텍스트 노드, 인터넷 익스플로러 경우가 파이어 폭스는 새로운 라인을 처리합니다. 당신은 우리의에서와 할 수있는 XML DOM 튜토리얼 이 문제점과이 문제를 방지하는 방법에 대한 자세한 내용을 읽는.