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: گفتگو در مورد خوردن

مثال کامل

مثال 1

<!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>

آزمایش کنید

مثال 2

بازگشت به سراسر عناصر <title>:

x = xmlDoc.getElementsByTagName('title');
برای (i = 0; i < x.length; i++) { 
    txt += x[i].childNodes[0].nodeValue + "<br>";
}

آزمایش کنید

دریافت مقدار ویژگی

در DOM، ویژگی‌ها نیز نقطه هستند. برخلاف نقطه عناصر، نقطه ویژگی دارای مقدار متن هستند.

روش دریافت مقدار ویژگی دریافت مقدار متن آن است.

می‌توان با استفاده از getAttribute() مетод یا نقطه ویژگی nodeValue با استفاده از ویژگی属性 این کار را انجام دهید.

دریافت مقدار ویژگی - getAttribute()

getAttribute() مетод بازگشتیمقدار ویژگی

کد زیر اولین عناصر <title> را جستجو می‌کند: "lang" مقدار متن ویژگی:

مثال 1

x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");

آزمایش کنید

مثال 2

بازگشت به سراسر عناصر <book> و دریافت ویژگی "category" آن‌ها:

x = xmlDoc.getElementsByTagName("book");
برای (i = 0; i < x.length; i++) { 
    txt += x[i].getAttribute("category") + "<br>";
}

آزمایش کنید

دریافت مقدار ویژگی - getAttributeNode()

getAttributeNode() مетод بازگشتینقطه ویژگی

کد زیر اولین عناصر <title> را جستجو می‌کند: "lang" مقدار متن ویژگی:

مثال 1

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

آزمایش کنید

مثال 2

بازگشت به سراسر عناصر <book> و دریافت ویژگی "category" آن‌ها:

x = xmlDoc.getElementsByTagName("book");
برای (i = 0; i < x.length; i++) {
    txt += x[i].getAttributeNode("category").nodeValue + "<br>";
}

آزمایش کنید