파일명 : ch07_01.xml 로 저장한다.

<?xml version="1.0" encoding="euc-kr" standalone="yes"?>
<MEETINGS>
 <MEETING TYPE="informal">
  <MEETING_TITLE>XML 세계에 오신것을 환영합니다.</MEETING_TITLE>
  <MEETING_NUMBER>2079</MEETING_NUMBER>
  <SUBJECT>XML</SUBJECT>
  <DATE>08/02/2006</DATE>
  <PEOPLE>
   <PERSON ATTENDANCE="presend">
    <FIRST_NAME>민</FIRST_NAME>
    <LAST_NAME>슬기</LAST_NAME>
   </PERSON>
   
   <PERSON ATTENDANCE="absent">
    <FIRST_NAME>오</FIRST_NAME>
    <LAST_NAME>지명</LAST_NAME>
   </PERSON>
   
   <PERSON>
    <FIRST_NAME>이</FIRST_NAME>
    <LAST_NAME>소룡</LAST_NAME>
   </PERSON>

  </PEOPLE>
 </MEETING>
</MEETINGS>


파일명:ch07_02.html

<html>
<head>
<title>Reading XML element Values</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
 function readXMLDocument(){
 
  var xmldoc, meetingsNode, meetingNode, peopleNode
  var first_nameNode, last_nameNode, outputText

  //새로운 문서객체를 만든다.
  xmldoc = new ActiveXObject("Microsoft.XMLDOM");

  //문서를 읽어들인다.
  xmldoc.load("ch07_01.xml");
 
  //문서의 루트 요소인 <MEETINGS>에 해당되는 노드 객체를 불러오며,
  //documentElement메소를 이용한다.
  meetingsNode = xmldoc.documentElement;

  //firstChild, nextChild, lastChild등의 메소드를 이용, 구성요소의
  //다른 자식 요소들로 마음대로 이동가능
  //firstSibling,nextSibling메소드를 사용하면 동일 레벨에서의 다른 구성요소에 접근 가능
  meetingNode = meetingsNode.firstChild;

  //예 -> <PEOPLE>요소 내에서 세 번째<PERSON>요소로 내려가고자 한다.
  //<PEOPLE>요소는 <MEETING>요소의 마지막 자식에 해당되므로 <PEOPLE>요소에 해당되는 노드에는 다음과
  //같이 접근할 수 있다.
  peopleNode = meetingNode.lastChild;


  //<PEOPLE>요소의 세 번째 사람을 원하는 것은 그 요소의 마지막 자식 요소를 찾아내는 것과 동일하므로
  //여기서는 lastChild 메소드를 사용하여 원하는 사람에게 접근할 수 있다.
  //personNode = peopleNode.lastChild;  /* 마지막 요소 */
  personNode = peopleNode.firstChild;   /* 첫번재 요소 */

  //마지막으로 사람의 이름을 저장하고 있는 <FIRST_NAME>과<LAST_NAME>구성요소에 해당되는
  //노드에 접근하기 위해 firstChild와 nextSibling(현재 노드와 동일 레벨에서의 다음 노드로 이동한다.) 메소드를 사용할 수 있다.
  first_nameNode = personNode.firstChild;
  last_nameNode = first_nameNode.nextSibling;

  //트리에서 자신이 원하는 실제 구성요소의 노드에 접근하는 방식
  //nodeValue속성을 사용하여 first_name과 last_name의 값을 구한다.
  var firstName, lastName
  firstName = first_nameNode.firstChild.nodeValue;
  lastName = last_nameNode.firstChild.nodeValue ;

  outputText = "Third name: " + firstName + " " + lastName;
  messgeDiv.innerHTML = outputText;

 }
//-->
</SCRIPT>
</head>
<body>
 <center>
  <h2>Reading XML element values</h2>

  <input type="button" value="Get the name of the third person" onClick="readXMLDocument();">
  <p>
  <Div id="messgeDiv"></div>
  </p>
 </center>
</body>
</html>

각각 복사해서 파일로 저장한뒤에 ch07_02.html파일을 실행해서 버턴을 클릭해보면 결과를 볼 수 있다.

+ Recent posts