XML DOM Nhận giá trị nút
Thuộc tính nodeValue được sử dụng để lấy giá trị văn bản của một nút.
Phương thức getAttribution() trả về giá trị của một thuộc tính.
Lấy giá trị của một phần tử
Trong DOM, mọi thứ đều là một nút. Các nút phần tử không có giá trị văn bản.
Giá trị văn bản của một nút phần tử được lưu trữ trong nút con. Nút này được gọi là nút văn bản.
Để truy xuất giá trị văn bản của một phần tử, bạn phải truy xuất giá trị của nút văn bản của phần tử đó.
Phương thức getElementsByTagName
Phương thức getElementsByTagName() trả về danh sách nút gồm tất cả các phần tử , với tên thẻ được chỉ định, theo cùng thứ tự như chúng xuất hiện trong tài liệu nguồn.
Giả sử books.xml đã được tải vào xmlDoc.
Mã này truy xuất phần tử <title> đầu tiên:
var x = xmlDoc.getElementsByTagName("title")[0];
Thuộc tính ChildNodes
Thuộc tính childNodes trả về danh sách các nút con của một phần tử .
Đoạn mã sau truy xuất nút văn bản của phần tử <title> đầu tiên:
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
Thuộc tính nodeValue
Thuộc tính nodeValue trả về giá trị văn bản của nút văn bản .
Đoạn mã sau truy xuất giá trị văn bản của nút văn bản của phần tử <title> đầu tiên:
Ví dụ
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
z = y.nodeValue;
Kết quả bằng z: "Tiếng Ý hàng ngày"
Ví dụ hoàn chỉnh
Ví dụ
<!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>
Hãy tự mình thử »Lặp lại tất cả các phần tử <title>: Hãy tự mình thử
Lấy giá trị của một thuộc tính
Trong DOM, thuộc tính là các nút. Không giống như các nút phần tử, các nút thuộc tính có giá trị văn bản.
Cách để lấy giá trị của một thuộc tính là lấy giá trị văn bản của nó.
Điều này có thể được thực hiện bằng phương thức getAttribution() hoặc sử dụng thuộc tính nodeValue của nút thuộc tính.
Nhận giá trị thuộc tính - getAttribution()
Phương thức getAttribution() trả về giá trị của thuộc tính .
Đoạn mã sau truy xuất giá trị văn bản của thuộc tính "lang" của phần tử <title> đầu tiên:
Kết quả bằng txt: "en"
Lặp lại tất cả các phần tử <book> và nhận thuộc tính "danh mục" của chúng: Hãy tự mình thử
Nhận giá trị thuộc tính - getAttributionNode()
Phương thức getAttributionNode() trả về một nút thuộc tính .
Đoạn mã sau truy xuất giá trị văn bản của thuộc tính "lang" của phần tử <title> đầu tiên:
Ví dụ
x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
Hãy tự mình thử »Kết quả là txt="en"
Lặp lại tất cả các phần tử <book> và nhận thuộc tính "danh mục" của chúng: Hãy tự mình thử