Lấy giá trị nút XML DOM
- Trang trước Định vị nút DOM
- Trang tiếp theo Thay đổi nút 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"
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
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
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
- Trang trước Định vị nút DOM
- Trang tiếp theo Thay đổi nút DOM