Oleg » 17 авг 2012, 08:09
Хорошо. Давайте, рассмотрим xml-документ lessons.xml, в котором мы будем сохранять данные, например, об уроках: тип урока, время начала и конца, предмет, учитель, аудитория. Он будет иметь приблизительно такой вид:
<?xml version="1.0"?>
<!DOCTYPE timetable[
<!ELEMENT timetable (day*)>
<!ELEMENT day (lesson+)>
<!ELEMENT lesson (timeFrom, timeTo, subject, teacher, room?)>
<!ELEMENT timeFrom (#PCDATA)>
<!ELEMENT timeTo (#PCDATA)>
<!ELEMENT subject (#PCDATA)>
<!ELEMENT teacher (#PCDATA)>
<!ELEMENT room (#PCDATA)>
<!ATTLIST day
dayOfWeek CDATA #REQUIRED>
<!ATTLIST lesson
type CDATA #REQUIRED>
]>
<lessons>
<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>
</lessons>
Далее, нужно написать сценарий, который будет загружать этот xml-документ:
function xmlLoad (dname)
{
try
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try
{
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);
}
Сценарий сохраним под именем xmlLoad.js
Далее html-документ может работать с полями lessons.xml через xmlDoc, если Вы пропишете строку:
<script type="text/javascript" src="xmlLoad.js" >
xmlDoc = xmlLoad ("lessons.xml");
</script>