XML DOM احصل على قيم العقدة
تُستخدم الخاصية nodeValue للحصول على القيمة النصية للعقدة.
ترجع طريقة getAttribute () قيمة السمة.
احصل على قيمة عنصر
في DOM ، كل شيء هو عقدة. لا تحتوي عُقد العناصر على قيمة نصية.
يتم تخزين القيمة النصية لعقدة العنصر في عقدة فرعية. تسمى هذه العقدة عقدة نصية.
لاسترداد القيمة النصية لعنصر ما ، يجب عليك استرداد قيمة العقدة النصية للعناصر.
طريقة getElementsByTagName
تقوم طريقة getElementsByTagName () بإرجاع قائمة عقدة لجميع العناصر ، مع اسم العلامة المحدد ، بنفس الترتيب الذي تظهر به في المستند المصدر.
لنفترض أنه تم تحميل "books.xml" في xmlDoc .
يسترد هذا الرمز أول عنصر <title>:
var x = xmlDoc.getElementsByTagName("title")[0];
خاصية ChildNodes
تقوم الخاصية childNodes بإرجاع قائمة بالعقد الفرعية لعنصر ما .
يسترد الكود التالي العقدة النصية لعنصر <title> الأول:
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
خاصية nodeValue
تُرجع الخاصية nodeValue القيمة النصية لعقدة نصية .
يسترد الكود التالي القيمة النصية للعقدة النصية لعنصر <title> الأول:
مثال
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
z = y.nodeValue;
النتيجة في z: "Everyday Italian"
مثال كامل
مثال
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET",
"books.xml", true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName('title')[0];
var y =
x.childNodes[0];
document.getElementById("demo").innerHTML = y.nodeValue;
}
</script>
</body>
</html>
قم بإجراء حلقة عبر جميع عناصر <title>:
احصل على قيمة سمة
في DOM ، السمات هي عقد. على عكس عقد العناصر ، تحتوي عقد السمات على قيم نصية.
طريقة الحصول على قيمة السمة هي الحصول على قيمتها النصية.
يمكن القيام بذلك باستخدام طريقة getAttribute () أو باستخدام خاصية nodeValue لعقدة السمة.
الحصول على قيمة سمة - getAttribute ()
ترجع طريقة getAttribute () قيمة السمة .
يسترد الكود التالي القيمة النصية للسمة "lang" لعنصر <title> الأول:
مثال
x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");
النتيجة في txt: "ar"
قم بعمل تكرار عبر جميع عناصر <book> واحصل على سمات "الفئة" الخاصة بها:
الحصول على قيمة سمة - getAttributeNode ()
ترجع طريقة getAttributeNode () عقدة سمة .
يسترد الكود التالي القيمة النصية للسمة "lang" لعنصر <title> الأول:
مثال
x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
النتيجة في txt = "ar"
قم بإجراء حلقة عبر جميع عناصر <book> واحصل على سمات "الفئة" الخاصة بها: