Lấy giá trị của nút XML DOM

nodeValue Thuộc tính được sử dụng để lấy giá trị văn bản của nút.

getAttribute() Phương thức trả về giá trị của thuộc tính.

Lấy giá trị của phần tử

Trong DOM, tất cả đều là nút. Các phần tử không có giá trị văn bản.

Giá trị văn bản của phần tử lưu trữ trong subnode. Nó được gọi là nút văn bản.

Để lấy giá trị văn bản của phần tử, bạn phải tìm kiếm giá trị của nút văn bản của phần tử.

Điều này có nghĩa là, phương thức lấy văn bản của phần tử chính là lấy giá trị của subnode (nút văn bản) này.

Phương thức getElementsByTagName

getElementsByTagName() Phương thức trả về danh sách các phần tử chứa tên thẻ đặc địnhDanh sách các nút của tất cả các phần tử,trình tự của các phần tử là trình tự 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 tìm kiếm phần tử đầu tiên <title>:

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

Thuộc tính ChildNodes

childNodes Thuộc tính trả vềDanh sách các子 của phần tử

Dưới đây là mã tìm kiếm nút văn bản của phần tử đầu tiên <title>:

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

Thuộc tính nodeValue

nodeValue Thuộc tính trả vềGiá trị văn bản của nút văn bản

Dưới đây là mã tìm kiếm văn bản của phần tử đầu tiên <title>:

Mô hình

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

Kết quả của z: Trại ăn uống

Hình ảnh hoàn chỉnh

Ví dụ 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>

Thử ngay

Ví dụ 2

Duyệt qua tất cả các phần tử <title>:

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

Thử ngay

Lấy giá trị thuộc tính

Trong DOM, thuộc tính cũng là nút. Khác với nút phần tử, nút thuộc tính có giá trị văn bản.

Cách lấy giá trị thuộc tính là lấy giá trị văn bản của nó.

thể sử dụng getAttribute() phương thức hoặc nút thuộc tính nodeValue thuộc tính để hoàn thành nhiệm vụ này.

Lấy giá trị thuộc tính - getAttribute()

getAttribute() phương thức trả vềGiá trị của thuộc tính

Mã sau đây tìm kiếm thuộc tính đầu tiên của phần tử <title>: "lang" Giá trị văn bản của thuộc tính:

Ví dụ 1

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

Thử ngay

Ví dụ 2

Duyệt qua tất cả các phần tử <book> và lấy thuộc tính "category" của chúng:

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

Thử ngay

Lấy giá trị thuộc tính - getAttributeNode()

getAttributeNode() phương thức trả vềnút thuộc tính

Mã sau đây tìm kiếm thuộc tính đầu tiên của phần tử <title>: "lang" Giá trị văn bản của thuộc tính:

Ví dụ 1

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

Thử ngay

Ví dụ 2

Duyệt qua tất cả các phần tử <book> và lấy thuộc tính "category" của chúng:

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

Thử ngay