Hướng dẫn XML

TRANG CHỦ XML Giới thiệu XML Cách sử dụng XML Cây XML Cú pháp XML Phần tử XML Thuộc tính XML Không gian tên XML Hiển thị XML HttpRequest XML Trình phân tích cú pháp XML DOM XML XPath XML XSLT XML XQuery XML XML XLink Trình xác thực XML DTD XML Lược đồ XML Máy chủ XML Ví dụ về XML Câu đố XML Chứng chỉ XML

XML AJAX

Giới thiệu AJAX AJAX XMLHttp Yêu cầu AJAX Phản hồi AJAX Tệp XML AJAX AJAX PHP AJAX ASP Cơ sở dữ liệu AJAX Ứng dụng AJAX Ví dụ về AJAX

DOM XML

Giới thiệu DOM Nút DOM Truy cập DOM Thông tin nút DOM Danh sách nút DOM DOM Traversing Điều hướng DOM DOM Nhận giá trị Nút thay đổi DOM DOM Xóa các nút Nút thay thế DOM DOM Tạo nút DOM Thêm nút Nút nhân bản DOM Ví dụ về DOM

Hướng dẫn XPath

Giới thiệu XPath Nút XPath Cú pháp XPath Trục XPath Toán tử XPath Ví dụ về XPath

Hướng dẫn XSLT

Giới thiệu XSLT Ngôn ngữ XSL Chuyển đổi XSLT XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sắp xếp> XSLT <if> XSLT <chọn> Áp dụng XSLT XSLT trên máy khách XSLT trên Máy chủ XSLT Chỉnh sửa XML Ví dụ về XSLT

Hướng dẫn XQuery

Giới thiệu XQuery Ví dụ về XQuery XQuery FLWOR HTML XQuery Điều khoản XQuery Cú pháp XQuery XQuery Thêm Chọn XQuery Hàm XQuery

DTD XML

Giới thiệu DTD Khối xây dựng DTD Phần tử DTD Các thuộc tính DTD Phần tử DTD so với Attr Thực thể DTD Ví dụ về DTD

Lược đồ XSD

Giới thiệu XSD XSD Cách thực hiện XSD <schema> Phần tử XSD Thuộc tính XSD Hạn chế XSD

XSD Complex

Phần tử XSD XSD trống Chỉ các phần tử XSD Chỉ văn bản XSD XSD hỗn hợp Chỉ báo XSD XSD <nhiều> XSD <anyAttribute> Thay thế XSD Ví dụ về XSD

Dữ liệu XSD

Chuỗi XSD Ngày XSD XSD Numeric XSD Misc Tham chiếu XSD

Dịch vụ web

Dịch vụ XML WSDL XML SOAP XML RDF XML RSS XML

Người giới thiệu

Các loại nút DOM Nút DOM DOM NodeList DOM NamedNodeMap Tài liệu DOM Phần tử DOM Thuộc tính DOM Văn bản DOM DOM CDATA Bình luận DOM DOM XMLHttpRequest Trình phân tích cú pháp DOM Phần tử XSLT Hàm XSLT / XPath

DOM XML - Các nút truy cập


Với DOM, bạn có thể truy cập mọi nút trong tài liệu XML.


Hãy tự mình thử - Ví dụ

Các ví dụ dưới đây sử dụng tệp XML books.xml .


Sử dụng phương thức getElementsByTagName () để lấy phần tử <title> thứ ba trong "books.xml"


Sử dụng thuộc tính length để lặp qua tất cả các phần tử <title> trong "books.xml"


Sử dụng thuộc tính nodeType để nhận loại nút của phần tử gốc trong "books.xml".


Sử dụng thuộc tính nodeType để chỉ xử lý các nút phần tử trong "books.xml".


Sử dụng thuộc tính nodeType và thuộc tính nextSibling để xử lý các nút phần tử trong "books.xml".

×

Tiêu đề


Truy cập các nút

Bạn có thể truy cập một nút theo ba cách:

1. Bằng cách sử dụng phương thức getElementsByTagName ()

2. Bằng cách lặp qua (đi ngang) cây các nút.

3. Bằng cách điều hướng cây nút, sử dụng các mối quan hệ của nút.


Phương thức getElementsByTagName ()

getElementsByTagName () trả về tất cả các phần tử có tên thẻ được chỉ định.

Cú pháp

node.getElementsByTagName("tagname");

Thí dụ

Ví dụ sau trả về tất cả các phần tử <title> trong phần tử x:

x.getElementsByTagName("title");

Lưu ý rằng ví dụ trên chỉ trả về các phần tử <title> dưới nút x. Để trả về tất cả các phần tử <title> trong tài liệu XML, hãy sử dụng:

xmlDoc.getElementsByTagName("title");

trong đó xmlDoc là chính tài liệu (nút tài liệu).



Danh sách nút DOM

Phương thức getElementsByTagName () trả về một danh sách nút. Danh sách nút là một mảng các nút.

x = xmlDoc.getElementsByTagName("title");

Các phần tử <title> trong x có thể được truy cập bằng số chỉ mục. Để truy cập <title> thứ ba, bạn có thể viết ::

y = x[2];

Lưu ý: Chỉ mục bắt đầu từ 0.

Bạn sẽ tìm hiểu thêm về danh sách nút trong chương sau của hướng dẫn này.


Độ dài danh sách nút DOM

Thuộc tính length xác định độ dài của danh sách nút (số lượng nút).

Bạn có thể lặp qua danh sách nút bằng cách sử dụng thuộc tính length:

Thí dụ

var x = xmlDoc.getElementsByTagName("title");

for (i = 0; i <x.length; i++) {
  // do something for each node
  }

Các loại nút

Thuộc tính documentElement của tài liệu XML là nút gốc.

Thuộc tính nodeName của một nút là tên của nút.

Thuộc tính nodeType của một nút là kiểu của nút.

Bạn sẽ tìm hiểu thêm về các thuộc tính của nút trong chương tiếp theo của hướng dẫn này.


Các nút đi ngang

Đoạn mã sau lặp lại qua các nút con, cũng là các nút phần tử, của nút gốc:

Thí dụ

txt = "";
x = xmlDoc.documentElement.childNodes;

for (i = 0; i <x.length; i++) {
  // Process only element nodes (type 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}

Ví dụ được giải thích:

  1. Giả sử bạn đã tải " books.xml " vào xmlDoc
  2. Lấy các nút con của phần tử gốc (xmlDoc)
  3. Đối với mỗi nút con, hãy kiểm tra loại nút. Nếu loại nút là "1" thì nó là một nút phần tử
  4. Xuất ra tên của nút nếu nó là một nút phần tử

Điều hướng mối quan hệ nút

Đoạn mã sau điều hướng cây nút bằng cách sử dụng các mối quan hệ nút:

Thí dụ

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;

txt = "";
for (i = 0; i <xlen; i++) {
  // Process only element nodes (type 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}

Ví dụ được giải thích:

  1. Giả sử bạn đã tải " books.xml " vào xmlDoc
  2. Lấy các nút con của phần tử sách đầu tiên
  3. Đặt biến "y" là nút con đầu tiên của phần tử sách đầu tiên
  4. Đối với mỗi nút con (bắt đầu bằng nút con đầu tiên "y"):
  5. Kiểm tra loại nút. Nếu loại nút là "1" thì nó là một nút phần tử
  6. Xuất ra tên của nút nếu nó là một nút phần tử
  7. Đặt biến "y" là nút anh em tiếp theo và chạy lại vòng lặp