Порядок выполнения лабораторной работы. При выполнении данной лабораторной работы потребуется XML документ timetable.xml, который использовался в лабораторной работе 21: <?xml
При выполнении данной лабораторной работы потребуется 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>- Создание 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>- Перемещение по дереву узлов.
Подготовьте следующую 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- Изменение значения элемента.
Следующий пример демонстрирует изменение значения элемента <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 />");}}Внесите соответствующие изменения в предыдущую страницу и загрузите ее в браузере.
- Перемещение по узлам дерева с использованием отношений между ними.
Следующий код показывает, как используя отношения 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 страницу и загрузите ее в браузере.
Дата добавления: 2015-12-29; просмотров: 841;