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

XML قائمة عقدة DOM


يتم إرجاع قائمة العقد من قبل getElementsByTagName() طريقة والممتلكات childNodes.


انها محاولة لنفسك - أمثلة

استخدام الأمثلة التالية في ملف XML books.xml .

الحصول على النص من أول <title> العنصر
يستخدم هذا المثال getElementsByTagName() طريقة للحصول على النص من أول <title> عنصر في "books.xml" .

حلقة خلال العقد باستخدام الخاصية طول
يستخدم هذا المثال قائمة عقدة والخاصية طول يتكرر خلال كل <title> في العناصر "books.xml"

احصل على ال سمة عنصر
يستخدم هذا المثال قائمة سمة للحصول على سمة من أول <book> عنصر في "books.xml" .

×

رأس


قائمة عقدة DOM

عند استخدام خصائص أو أساليب مثل childNodes أو getElementsByTagName() ، يتم إرجاع كائن قائمة عقدة.

يمثل كائن القائمة العقدة قائمة العقد، في نفس الترتيب كما في XML.

يتم الوصول إلى العقد في قائمة عقدة مع الأرقام القياسية بدءا من 0.

تمثل الصورة التالية قائمة عقدة <title> العناصر في " books.xml ":

DOM قائمة عقدة

لنفترض أن "books.xml" يتم تحميل في xmlDoc متغير.

يعود هذا جزء التعليمات البرمجية قائمة عقدة من عناصر اللقب في "books.xml" :

x = xmlDoc.getElementsByTagName("title");

بعد تنفيذ البيان أعلاه، x هو كائن قائمة عقدة.

جزء التعليمات البرمجية التالية بإرجاع النص من أول <title> عنصر في قائمة عقدة (x) :

مثال

var txt = x[0].childNodes[0].nodeValue;
انها محاولة لنفسك »

بعد تنفيذ البيان أعلاه، النص = "Everyday Italian" .


قائمة عقدة طول

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

الخاصية طول قائمة العقدة هي عدد العقد في القائمة.

هذا جزء التعليمات البرمجية إرجاع عدد من <title> العناصر في "books.xml" :

x = xmlDoc.getElementsByTagName('title').length;

بعد تنفيذ البيان أعلاه، فإن قيمة س يكون 4.

طول قائمة العقدة يمكن استخدامها لتنفيذ حلقات عبر كافة العناصر في القائمة.

يستخدم هذا جزء التعليمات البرمجية الممتلكات طول لحلقة خلال قائمة <title> عناصر هي:

مثال

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;

for (i = 0; i <xLen; i++) {
    txt += x[i].childNodes[0].nodeValue) + " ";
}

الناتج:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
انها محاولة لنفسك »

وأوضح سبيل المثال:

  1. لنفترض أن " books.xml يتم تحميل" في xmlDoc
  2. تعيين المتغير x إلى عقد قائمة عقدة من كل العناصر لقب
  3. جمع القيم عقدة النص من <title> عناصر

قائمة DOM السمة (Named Node Map)

الخاصية سمات من عقدة عنصر بإرجاع قائمة العقد السمة.

وهذا ما يسمى خريطة عقدة اسمه، ويشبه إلى قائمة عقدة، باستثناء بعض الاختلافات في الأساليب والخصائص.

قائمة سمة تبقي نفسها ما يصل إلى التاريخ. إذا تم حذف سمة أو إضافتها، يتم تحديث القائمة تلقائيا.

يعود هذا جزء التعليمات البرمجية قائمة العقد سمة من أول <book> عنصر في "books.xml" :

x = xmlDoc.getElementsByTagName('book')[0].attributes;

بعد تنفيذ التعليمات البرمجية أعلاه، x.length = هو عدد الصفات و x.getNamedItem() يمكن استخدامها لإرجاع العقدة السمة.

هذا جزء التعليمات البرمجية يحصل على قيمة "category" السمة، وعدد من الصفات، من كتاب:

مثال

x = xmlDoc.getElementsByTagName("book")[0].attributes;

txt = x.getNamedItem("category").nodeValue + " " + x.length;

الناتج:

cooking 1
انها محاولة لنفسك »

وأوضح سبيل المثال:

  1. لنفترض أن " books.xml يتم تحميل" في xmlDoc
  2. تعيين المتغير x إلى عقد قائمة بجميع سمات الأول <book> العنصر
  3. الحصول على قيمة "category" السمة وطول قائمة السمات