Порядок выполнения лабораторной работы

При выполнении данной лабораторной работы потребуется XML документ timetable.xml, который использовался в лабораторной работе 21:

<?xml version="1.0"?><timetable><day dayOfWeek="Monday"> <lesson type="practical"> <timeFrom>08.00</timeFrom> <timeTo>09.30</timeTo> <subject>Deutsch</subject> <teacher>Borisova</teacher> <room>216</room> </lesson> <lesson type="lecture"> <timeFrom>09.40</timeFrom> <timeTo>11.10</timeTo> <subject>SAP Administration</subject> <teacher>Egorov</teacher> <room>384</room> </lesson> <lesson type="practical"> <timeFrom>11.20</timeFrom> <timeTo>12.50</timeTo> <subject>SAP Administration</subject> <teacher>Petrov</teacher> <room>384</room> </lesson></day></timetable>
  1. Создание JavaScript сценария загрузки XML документа.

Создайте текстовый файл loadxmldoc.js, содержащий описание функции загрузки XML документа:

function loadXMLDoc(dname) {try //Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); }catch(e) { try //Firefox, Mozilla, Opera, etc. { xmlDoc=document.implementation.createDocument("","",null); } catch(e) {alert(e.message)} }try { xmlDoc.async=false; xmlDoc.load(dname); return(xmlDoc); }catch(e) {alert(e.message)}return(null);}

и сохраните его в той же папке, где находится файл timetable.xml.

Код вызова этой функции может выглядеть следующим образом:

<html><head><script type="text/javascript" src="loadxmldoc.js"> </script></head> <body><script type="text/javascript"> xmlDoc=loadXMLDoc("timetable.xml"); document.write("xmlDoc is loaded, ready for use");</script></body></html>
  1. Перемещение по дереву узлов.

Подготовьте следующую HTML страницу:

<html><head><script type="text/javascript" src="loadxmldoc.js"> </script></head><body><script type="text/javascript"> xmlDoc = loadXMLDoc("timetable.xml"); x = xmlDoc.getElementsByTagName("subject"); for (i=0; i<x.length; i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }</script></body></html>

После загрузки страницы в браузере можно будет увидеть следующий результат:

DeutschSAP AdministrationSAP Administration
  1. Изменение значения элемента.

Следующий пример демонстрирует изменение значения элемента <subject>:

xmlDoc=loadXMLDoc("timetable.xml");

x=xmlDoc.getElementsByTagName("subject")[0].childNodes[0];x.nodeValue="Java programming"; x = xmlDoc.getElementsByTagName("subject");for (i=0; i<x.length; i++){ document.write(x[i].childNodes[0].nodeValue); document.write("<br />");}}

Внесите соответствующие изменения в предыдущую страницу и загрузите ее в браузере.

  1. Перемещение по узлам дерева с использованием отношений между ними.

Следующий код показывает, как используя отношения firstChild и nextSibling можно получить для текущего узла список его дочерних узлов:

x = xmlDoc.getElementsByTagName("lesson")[0].childNodes;y = xmlDoc.getElementsByTagName("lesson")[0].firstChild; for (i = 0; i < x.length; i++){if (y.nodeType == 1) { document.write(y.nodeName + "<br />"); }y=y.nextSibling;

Внесите необходимые изменения в html страницу и загрузите ее в браузере.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: