استخراج قيمة نقطة XML DOM
- الصفحة السابقة تحديد موقف العقد DOM للنود
- الصفحة التالية تغيير العقد 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"
استدعاء جميع العناصر الـ <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>
استكشاف جميع عناصر <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" إلى قيمة الخاصية
تكرار جميع عناصر <book> والحصول على خصائص "category" الخاصة بهم:TIY
- الصفحة السابقة تحديد موقف العقد DOM للنود
- الصفحة التالية تغيير العقد DOM للنود