دروس XML

الصفحة الرئيسية لـ XML مقدمة XML كيفية استخدام XML شجرة XML بناء جملة XML عناصر XML سمات XML مساحات أسماء XML عرض XML طلب XML HttpRequest محلل XML XML DOM XML XPath XML XSLT XML XQuery XML XLink مدقق XML XML DTD مخطط XML خادم XML أمثلة XML مسابقة XML شهادة XML

XML AJAX

مقدمة أجاكس أجاكس XMLHttp طلب AJAX استجابة AJAX ملف AJAX XML أجاكس بي إتش بي أجاكس آسيا والمحيط الهادئ قاعدة بيانات أجاكس تطبيقات أجاكس أمثلة AJAX

XML DOM

مقدمة حول DOM عقد DOM الوصول إلى DOM معلومات عقدة DOM قائمة عقدة DOM عبور DOM التنقل في DOM DOM احصل على القيم DOM تغيير العقد DOM إزالة العقد استبدل DOM Nodes DOM إنشاء العقد DOM أضف العقد عقد استنساخ DOM أمثلة DOM

دروس XPath

مقدمة XPath عقد XPath بناء جملة XPath محاور XPath مشغلي XPath أمثلة XPath

XSLT التعليمي

XSLT مقدمة لغات XSL تحويل XSLT XSLT <template> XSLT <قيمة> XSLT <للجميع> XSLT <ترتيب> XSLT <if> XSLT <اختر> XSLT تطبيق XSLT على العميل XSLT على الخادم XSLT تحرير XML أمثلة XSLT

XQuery تعليمي

XQuery مقدمة مثال XQuery XQuery FLWOR XQuery HTML شروط XQuery بناء جملة XQuery XQuery إضافة XQuery حدد وظائف XQuery

XML DTD

مقدمة DTD مكعبات بناء DTD عناصر DTD سمات DTD عناصر DTD مقابل Attr كيانات DTD أمثلة DTD

مخطط XSD

مقدمة XSD XSD كيف XSD <المخطط عناصر XSD سمات XSD قيود XSD

مجمع XSD

عناصر XSD XSD فارغ عناصر XSD فقط نص XSD فقط XSD مختلط مؤشرات XSD XSD <أي> XSD <أي سمة> تبديل XSD مثال XSD

بيانات XSD

سلسلة XSD تاريخ XSD XSD الرقمية XSD متفرقات مرجع XSD

خدمات الويب

خدمات XML XML WSDL صابون XML XML RDF XML RSS

مراجع

أنواع عقدة DOM عقدة DOM قائمة عقدة DOM DOM NamedNodeMap مستند DOM عنصر DOM سمة DOM نص DOM DOM CDATA تعليق DOM DOM XMLHttpRequest محلل DOM عناصر XSLT وظائف XSLT / XPath

عقد XML DOM


وفقًا لـ XML DOM ، كل شيء في مستند XML هو عقدة :

  • المستند بأكمله عبارة عن عقدة مستند
  • كل عنصر XML هو عقدة عنصر
  • النص في عناصر XML عبارة عن عقد نصية
  • كل سمة هي عقدة سمة
  • التعليقات هي عقد تعليق

مثال DOM

انظر إلى ملف XML التالي ( books.xml ):

×

رأس

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title lang="en">XQuery Kick Start</title>
    <author>James McGovern</author>
    <author>Per Bothner</author>
    <author>Kurt Cagle</author>
    <author>James Linn</author>
    <author>Vaidyanathan Nagarajan</author>
    <year>2003</year>
    <price>49.99</price>
  </book>
  <book category="web" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

العقدة الجذرية في XML أعلاه تسمى <bookstore>.

يتم تضمين جميع العقد الأخرى في المستند في <bookstore>.

تحتوي العقدة الجذرية <bookstore> على 4 عقد <book>.

تحتوي العقدة الأولى من نوع <book> على العقد الفرعية: <العنوان> و <author> و <السنة> و <السعر>.

تحتوي العقد الفرعية على عقدة نصية واحدة لكل من "Everyday Italian" و "Giada De Laurentiis" و "2005" و "30.00".



يتم تخزين النص دائمًا في عقد نصية

الخطأ الشائع في معالجة DOM هو توقع احتواء عقدة عنصر على نص.

ومع ذلك ، يتم تخزين نص عقدة العنصر في عقدة نصية.

في هذا المثال: <year> 2005 </year> ، تحتوي عقدة العنصر <year> على عقدة نصية بالقيمة "2005".

"2005" ليست قيمة عنصر <year>!


شجرة عقدة XML DOM

يعرض XML DOM مستند XML على أنه هيكل شجرة. يسمى هيكل الشجرة شجرة العقدة.

يمكن الوصول إلى جميع العقد من خلال الشجرة. يمكن تعديل محتوياتها أو حذفها ، كما يمكن إنشاء عناصر جديدة.

تُظهر شجرة العقد مجموعة العقد والوصلات بينها. تبدأ الشجرة من العقدة الجذرية وتتفرع إلى العقد النصية في أدنى مستوى من الشجرة:

شجرة عقدة DOM

تمثل الصورة أعلاه ملف XML books.xml .


عقدة الآباء والأطفال والأشقاء

العقد في شجرة العقد لها علاقة هرمية مع بعضها البعض.

تُستخدم مصطلحات الوالد والطفل والأخوة لوصف العلاقات. العقد الرئيسية لديها أطفال. يُطلق على الأطفال من نفس المستوى إخوة (إخوة أو أخوات).

  • في شجرة العقدة ، تسمى العقدة العلوية الجذر
  • كل عقدة ، باستثناء الجذر ، لها عقدة أصل واحدة بالضبط
  • يمكن أن تحتوي العقدة على أي عدد من الأبناء
  • الورقة هي عقدة ليس بها أطفال
  • الأشقاء هم عقد مع نفس الوالد

توضح الصورة التالية جزءًا من شجرة العقد والعلاقة بين العقد:

شجرة العقدة

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

سوف تتعلم المزيد حول اجتياز شجرة العقدة في فصل لاحق من هذا البرنامج التعليمي.


الطفل الأول - الطفل الأخير

انظر إلى جزء XML التالي:

<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
</bookstore>

في XML أعلاه ، عنصر <title> هو أول عنصر تابع لعنصر <book> ، والعنصر <price> هو العنصر الفرعي الأخير لعنصر <book>.

علاوة على ذلك ، فإن عنصر <book> هو العقدة الأصلية لعناصر <العنوان> و <author> و <السنة> و <السعر>.