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

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

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

Mô hình

Ví dụ dưới đây sử dụng tệp XML books.xml.

Hàm loadXMLDoc()nằm ngoài JavaScript, được sử dụng để tải tệp XML.

Lấy giá trị phần tử
Ví dụ này sử dụng phương thức getElementsByTagname() để lấy phần tử <title> đầu tiên trong "books.xml".
Lấy giá trị thuộc tính
Ví dụ này sử dụng phương thức getAttribute() để lấy giá trị của thuộc tính "lang" của phần tử <title> đầu tiên trong "books.xml".

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

Trong DOM, mỗi thành phần đều là một phần tử. Phần tử phần tử không có giá trị văn bản.

Văn bản của phần tử phần tử lưu trữ trong phần tử con. Phần tử này được gọi là phần tử văn bản.

Cách lấy văn bản của phần tử là lấy giá trị của phần tử con (phần tử văn bản) này.

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

Phương thức getElementsByTagName() trả về danh sách các phần tử node chứa tất cả các phần tử có tên thẻ cụ thể, trong đó thứ tự của các phần tử là thứ tự chúng xuất hiện trong tài liệu nguồn.

Mã dưới đây sử dụng loadXMLDoc() Đặt "books.xmlĐược tải vào xmlDoc và tìm kiếm phần tử <title> đầu tiên:

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.getElementsByTagName("title")[0];

Thuộc tính childNodes trả về danh sách các phần tử con.<title> phần tử chỉ có một phần tử con, đó là một phần tử văn bản.

Mã dưới đây tìm kiếm phần tử văn bản của phần tử <title>:

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

Thuộc tính nodeValue trả về giá trị văn bản của phần tử văn bản:

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

Kết quả: txt = "Harry Potter"

TIY

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

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

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

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

Bạn có thể hoàn thành nhiệm vụ này bằng cách sử dụng phương thức getAttribute() hoặc thuộc tính nodeValue của phần tử thuộc tính.

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

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

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

xmlDoc=loadXMLDoc("books.xml");
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

Kết quả: txt = "en"

Giải thích ví dụ:

  • Bằng cách sử dụng loadXMLDoc() Đặt "books.xml"Tải vào xmlDoc"
  • Đặt biến txt thành giá trị của thuộc tính "lang" của yếu tố <title> đầu tiên

TIY

Duyệt qua tất cả các yếu tố <book> và lấy thuộc tính "category" của chúng:TIY

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

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

Dưới đây là mã tìm kiếm văn bản thuộc tính "lang" của yếu tố <title> đầu tiên:

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

Kết quả: txt = "en"

Giải thích ví dụ:

  • Bằng cách sử dụng loadXMLDoc() Đặt "books.xml"Tải vào xmlDoc"
  • Lấy thuộc tính "lang" của nút yếu tố <title> đầu tiên
  • Đặt biến txt thành giá trị của thuộc tính

TIY

Lặp qua tất cả các yếu tố <book> và lấy thuộc tính "category" của chúng:TIY