استخراج قيمة نقطة XML DOM

يستخدم خاصية nodeValue للحصول على نص العقدة.

يستعيد طريقة getAttribute() قيمة الخاصية.

مثال

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

دالة loadXMLDoc()، وتقع في JavaScript الخارجي، وتستخدم لتحميل ملف XML.

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

الحصول على قيمة العنصر

في DOM، كل عنصر هي عقدة. لا تحتوي عقدة العنصر على نص.

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

طريقة الحصول على نص العنصر هي الحصول على قيمة هذا العقدة الابن (العقدة النصية).

الحصول على قيمة العنصر

يستعيد طريقة getElementsByTagName قائمة بعقدة جميع العناصر التي تحتوي على اسم العنصر المحدد، حيث يكون ترتيب العناصر هو نفسه في المستند المصدر.

التعليمات التالية تستخدم loadXMLDoc() تعيين "books.xmlتحميل xmlDoc، وبحث العنصر الـ <title> الأول:

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.getElementsByTagName("title")[0];

يستعيد خاصية childNodes قائمة بعقدة الأبناء.<title> العنصر يحتوي على عقدة واحدة فقط، وهي عقدة نصية.

التعليمات التالية تقوم بالبحث عن العقدة النصية للعنصر الـ <title> :

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];

يستعيد خاصية nodeValue نص العقدة النصية:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
txt = y.nodeValue;

النتيجة: txt = "Harry Potter"

TIY

استدعاء جميع العناصر الـ <title> :TIY

الحصول على قيمة الخاصية

في DOM، الخاصية هي أيضًا عقدة. على عكس عقدة العنصر، تحتوي عقدة الخاصية على نص.

طريقة الحصول على قيمة الخاصية هي الحصول على نصها.

يمكنك تنفيذ هذه المهمة باستخدام طريقة getAttribute() أو خاصية nodeValue لندوة العنصر.

الحصول على قيمة الخاصية - getAttribute()

يستعيد طريقة getAttribute() قيمة الخاصية.

التعليمات التالية تقوم بالبحث عن قيمة النص الموجودة في خاصية "lang" للعنصر الـ <title> :

xmlDoc=loadXMLDoc("books.xml");
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

النتيجة: txt = "en"

توضيح المثال:

  • من خلال استخدام loadXMLDoc() تعيين "books.xml"تحميل xmlDoc"
  • تعيين "txt" إلى قيمة الخاصية "lang" للعقد الأول من العناصر <title>

TIY

استكشاف جميع عناصر <book> والحصول على خصائص "category" الخاصة بهم:TIY

الحصول على قيمة الخاصية - getAttributeNode()

يستعيد getAttributeNode() نود الخاصية.

تحتوي الكود التالي على استرجاع النص التالي الخاص بالخصائص "lang" للعقد الأول من <title>:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;

النتيجة: txt = "en"

توضيح المثال:

  • من خلال استخدام loadXMLDoc() تعيين "books.xml"تحميل xmlDoc"
  • الحصول على خاصية "lang" للعقد الأول من عناصر <title>
  • تعيين "txt" إلى قيمة الخاصية

TIY

تكرار جميع عناصر <book> والحصول على خصائص "category" الخاصة بهم:TIY