XML DOM-노드 가져 오기

이 장에서는 XML DOM 객체 의 노드 값 을 얻는 방법에 대해 알아 봅니다 . XML 문서에는 노드라고하는 정보 단위 계층이 있습니다. Node 객체에는 요소의 값을 반환하는 nodeValue 속성이 있습니다.

다음 섹션에서 우리는 논의 할 것입니다-

  • 요소의 노드 값 얻기

  • 노드의 속성 값 가져 오기

node.xml 다음의 모든 예에서 사용은 다음과 같다 -

<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>[email protected]</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>[email protected]</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Tanisha</FirstName>
      <LastName>Sharma</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>[email protected]</Email>
   </Employee>
</Company>

노드 값 얻기

getElementsByTagName () 메소드 는 지정된 태그 이름을 사용하여 문서 순서대로 모든 요소NodeList 를 리턴합니다 .

다음 예제 (getnode_example.htm)는 XML 문서 ( node.xml )를 XML DOM 객체로 구문 분석 하고 자식 노드 Firstname (인덱스 0) 의 노드 값을 추출합니다.

<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         x = xmlDoc.getElementsByTagName('FirstName')[0]
         y = x.childNodes[0];
         document.write(y.nodeValue);
      </script>
   </body>
</html>

실행

이 파일을 서버 경로에 getnode_example.htm 으로 저장 합니다 (이 파일과 node.xml은 서버의 동일한 경로에 있어야 함). 출력에서 노드 값을 Tanmay 로 얻습니다 .

속성 값 가져 오기

속성은 XML 노드 요소의 일부입니다. 노드 요소는 여러 고유 속성을 가질 수 있습니다. 속성은 XML 노드 요소에 대한 자세한 정보를 제공합니다. 더 정확하게 말하면 노드 요소의 속성을 정의합니다. XML 속성은 항상 이름-값 쌍입니다. 이 속성 값을 속성 노드 라고 합니다 .

getAttribute를 () 메소드는 엘리먼트 이름 속성 값을 검색한다.

다음 예제 (get_attribute_example.htm)는 XML 문서 ( node.xml )를 XML DOM 객체로 구문 분석하고 Employee 범주의 속성 값 (index at 2)을 추출합니다.

<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         x = xmlDoc.getElementsByTagName('Employee')[2];
         document.write(x.getAttribute('category'));
      </script>
   </body>
</html>

실행

이 파일을 서버 경로에 get_attribute_example.htm 으로 저장 합니다 (이 파일과 node.xml은 서버의 동일한 경로에 있어야 함). 출력에서 속성 값을 Management 로 얻습니다 .