تطبيقات XML
- الصفحة السابقة قاعدة بيانات AJAX
- الصفحة التالية مثال AJAX
في هذا الفصل، سنعرض كيفية استخدام تطبيق HTML باستخدام XML، HTTP، DOM وJavaScript.
المستندات XML المستخدمة
في هذا الفصل، سنستخدم وثيقة XML تُدعى "music_list.xml"ملف XML.
عرض بيانات XML في جدول HTML
هذا المثال يقوم بتتبع كل عنصر <TRACK>، ثم يعرض قيم عناصر <ARTIST> و<TITLE>:
مثال
<html> <body> <table id="demo"></table> <script> function loadXMLDoc() { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xmlhttp.open("GET", "قائمةموسيقى.xml", true); xmlhttp.send(); } function myFunction(xml) { var i; var xmlDoc = xml.responseXML; var table="<tr><th>艺术家</th><th>曲目</th></tr>"; var x = xmlDoc.getElementsByTagName("TRACK"); for (i = 0; i <x.length; i++) { table += "<tr><td>" + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</td><td>" + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</td></tr>"; } document.getElementById("عرضعينة").innerHTML = table; } </script> </body> </html>
للحصول على معلومات إضافية حول استخدام JavaScript و XML DOM، يرجى زيارة مقدمة إلى DOM。
عرض الأغنية الأولى في العنصر div HTML
في هذا المثال، يتم استخدام دالة لعرض الأغنية الأولى في العنصر HTML المحدد بـ id="عرضموسيقى":
مثال
عرضموسيقى(0); function عرضموسيقى(i) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { دالةصغيرة(this, i); } }; xmlhttp.open("GET", "قائمةموسيقى.xml", true); xmlhttp.send(); } function دالةصغيرة(xml, i) { var xmlDoc = xml.responseXML; x = xmlDoc.getElementsByTagName("مسار"); document.getElementById("عرضموسيقى").innerHTML = "<ul>" + "<li>أغنية: " + x[i].getElementsByTagName("عنوان")[0].childNodes[0].nodeValue + "</li>" + "<li>الفنان: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>الальбом: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>الدولة: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>الشركة: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>السنة: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
تنقل بين الأغاني
للتنقل بين الأغاني في المثال السابق، يرجى إضافة الدوال التالي() والسابق():
مثال
function التالي() { // عرض الأغنية التالية، ما لم تصل إلى الأغنية الأخيرة if (i < x.length-1) { i++; عرضموسيقى(i); } } function السابق() { // عرض الأغنية السابقة، ما لم تصل إلى الأغنية الأولى if (i > 0) { i--; عرضموسيقى(i); } }
عرض معلومات الألبوم عند النقر على الأغنية
في هذا المثال، يتم عرض كيفية عرض معلومات الألبوم عند النقر على أغنية معينة:
مثال
function عرضموسيقى(i) { document.getElementById("عرضموسيقى").innerHTML = "<ul>" + "<li>أغنية: " + x[i].getElementsByTagName("عنوان")[0].childNodes[0].nodeValue + "</li>" + "<li>الفنان: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>الальбом: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>الدولة: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>الشركة: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>السنة: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
- الصفحة السابقة قاعدة بيانات AJAX
- الصفحة التالية مثال AJAX