JavaScript

AJAX XML File

في هذا الدرس سوف نتعرف علي طريقة اخذ البيانات من ملفات ال XML 

التاريخ

16 نوفمبر 2021

الدروس

146

المستوى

العامة

اللغة

انجليزي

المشاهدات

1388

المواضيع

24
الشروحات chevron_left AJAX XML File chevron_left JavaScript

AJAX XML File

مراجعة تقنية
Mostafa Hefny

Mostafa Hefny

CEO & Founder CloseTag

</> ماهو XML ؟

لغة الترميز القابلة للامتداد أو اختصارًا XML، هي لغة ترميزية، تم تصميمها لتخزين ونقل البيانات، حيث تعد طريقة مرنة لإنشاء تنسيقات المعلومات ومشاركة البيانات المنظمة إلكترونيًا عبر الإنترنت العام، وكذلك عبر شبكات الشركات.

تُعرف بيانات XML بأنها ذاتية الوصف أو ذاتية التحديد، وهذا يعني أن بنية البيانات مضمنة مع البيانات، وبالتالي وصول البيانات إلى هناك، ولا داعي لبناء البنية السابقة لتخزين البيانات؛ حيث يتم فهمها ديناميكيًا داخل XML.

كما أنها ليست بديلاً لـ HTML، حيث تم تصميمها لتكون وصفًا ذاتيًا، لنقل البيانات وليس لعرض البيانات، XML هي منصة مستقلة ومستقلة اللغة.


يمكن استخدام تنسيق XML بواسطة أي فرد أو مجموعة من الأفراد أو الشركات التي ترغب في مشاركة المعلومات بطريقة متسقة. و لغة XML هي في الواقع مجموعة فرعية أبسط وأسهل استخدامًا كمعيار لغة ترميز معممة، وهي المعيار لإنشاء بنية مستند.


يعتبر مستند XML “مهيأ بشكل جيد” (أي يمكن قراءته وفهمه بواسطة محلل XML) إذا كان تنسيقه يتوافق مع مواصفات XML ، وإذا تم ترميزه بشكل صحيح، وإذا كانت العناصر متداخلة بشكل صحيح. تدعم XML أيضًا إمكانية تحديد سمات العناصر ووصف خصائص العناصر في علامة البداية لعنصر.

تم إصدار لغة XML في أواخر التسعينات، وتم إنشاؤها لتوفير وسيلة سهلة الاستخدام وتخزين البيانات، وأصبحت XML توصية منظمة W3C (رابطة الشبكة العالمية) في 10 فبراير 1998.§

</> مزايا XML

  • xml هي منصة مستقلة ولغة برمجة مستقلة، وبالتالي يمكن استخدامها على أي نظام وتواكب تغير التكنولوجيا.
  • تبسط XML تبادل البيانات بين الأنظمة المختلفة بسبب طبيعتها المستقلة، ولا تتطلب بيانات XML أي تحويل عند نقلها بين أنظمة مختلفة.
  • تدعم Unicode- وهو معيار ترميز دولي- للاستخدام مع لغات ونصوص مختلفة، حيث يتم تعيين كل حرف أو رقم أو رمز بقيمة رقمية فريدة تنطبق على المنصات والبرامج المختلفة، وتسمح هذه الميزة لـ XML بنقل أي معلومات مكتوبة بأي لغة بشرية.
  • يمكن تغيير البيانات المخزنة والمنقولة باستخدام XML في أي وقت دون التأثير على عرض البيانات. حيث يتم استخدام لغة ترميز أخرى مثل HTML لعرض البيانات، و HTML تحصل على البيانات من XML وتعرضها على واجهة المستخدم الرسومية، وبمجرد تحديث البيانات في XML، ينعكس ذلك في HTML دون إجراء أي تغيير في HTML.
  • تسمح XML بالتحقق من صحة بناء الجملة باستخدام DTD و Schema. وذلك يضمن التحقق من الصحة أن مستند XML خالٍ من أي خطأ في بناء الجملة

</> AJAX XML File

يمكن استخدام AJAX للتواصل التفاعلي مع ملف XML.

سيوضح المثال التالي كيف يمكن لصفحة الويب جلب المعلومات من ملف XML باستخدام AJAX

Result

The XMLHttpRequest Object



جربها بنفسك chevron_right

يظهر الكود بهذا الشكل على المتصفح

</> Example Explained

  • عندما يقوم المستخدم بالضغط علي الزر"Get Cd info " سوف يتم تنفيذ الدالة ( )loadDoc
  • عندما يتم تنفيذ الدالة سوف تقوم بأنشاء الكائن "XMLHttpRequest" 
  • قم بإضافة الدالة بحيث يتم تنفيذها عندما تكون استجابة الخادم server response  جاهزة 
  • عندما يكون كل من استجابة الخادم و تم أنشاء جداول ال HTML سوف يتم استخراج البيانات من ملف ال xml وتقوم بتحديث بيانات العنصر "demo" ببيانات ملف xml 
function loadDoc() {
  const xhttp = new XMLHttpRequest();
  xhttp.onload = function() {myFunction(this);}
  xhttp.open("GET", "cd_catalog.xml");
  xhttp.send();
}
function myFunction(xml) {
  const xmlDoc = xml.responseXML;
  const x = xmlDoc.getElementsByTagName("CD");
  let table="<tr><th>Artist</th><th>Title</th></tr>";
  for (let 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("demo").innerHTML = table;
}
معلومات تهمك
  • لا تنس تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنس مشاركة الموقع مع أصدقائك حتى تعمّ الفائدة وتكون سببًا في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات