أحدث البرامج التعليمية وتطوير الشبكة
 

XML DOM العقد


في DOM، كل شيء في وثيقة XML هو العقدة.


DOM العقد

وفقا لDOM، كل شيء في وثيقة XML هو node .

يقول DOM:

  • الوثيقة بأكملها هي عقدة ثيقة
  • كل عنصر 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> يحمل أربعة <book> العقد.

أول <book> عقدة يحمل أربعة العقد: <title>, <author>, <year> ، و <price> ، والذي يحتوي على عقدة نص واحد لكل منهما، "Everyday Italian", "Giada De Laurentiis" ، "2005" ، و "30.00" .


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

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

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

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

"2005" هو not قيمة <year> عنصرا!


وXML DOM شجرة عقدة

وXML DOM وجهات النظر وثيقة XML مثل شجرة هيكل. ويطلق على هيكل الشجرة node-tree.

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

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

DOM شجرة العقدة

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


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

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

يستخدم المصطلحان الوالدين والطفل، والأخوة لوصف العلاقات. العقد الأم لديها أطفال. ودعا الأطفال على نفس المستوى أشقاء (brothers or sisters) .

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

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

شجرة العقدة

لأن هيكلة بيانات 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> العنصر العقدة الأصل من <title>, <author>, <year> , and <price> elements. <title>, <author>, <year> , and <price> elements.