Mục lục:
Video: Công nghệ XML: Mô hình đối tượng DOM 2025
Sự phân đôi giữa suy nghĩ tuyến tính và tư duy tổng thể tách riêng (tương ứng) SAX khỏi DOM.
SAX (Simple API for XML) xử lý một tài liệu XML một cách tuyến tính, làm việc thông qua một tài liệu từng mảnh, từ đầu đến cuối. Nhưng với DOM (Document Object Model), bạn nhảy vào và nhìn toàn bộ tài liệu. Một chút sau đó, bạn phóng to phần tử gốc, và sau đó tập trung chặt chẽ hơn vào một phần tử bên trong phần tử gốc. Trong một số trường hợp, nhảy vào là chính xác những gì bạn cần làm.
Với DOM, bạn nghĩ rằng một tài liệu XML có một số
nút . Ví dụ về các nút bao gồm các phần tử, thuộc tính, nhận xét, và các ký tự giữa một cặp thẻ bắt đầu và kết thúc. Một toàn bộ tài liệu XML chính nó là một nút. Nói chung, một tài liệu XML có thể có 12 loại nút khác nhau. Các nút của cây
Cùng nhau, tất cả các nút DOM trong một tài liệu XML tạo thành một cây. Lấy ví dụ, tài liệu trong Liệt kê 1. Cây DOM của tài liệu này giống như cây thể hiện trong hình 1.
Người sáng lập, Chủ tịch, Thư ký, Quản lý Công khai
Cây có mười một nút. Để tính chúng, bắt đầu bằng cách đếm các cành của cây (thuận tiện hiển thị trong Hình 1). Sau đó đếm lần thứ hai Member firstname = "Herbert" branch. (Chi nhánh này có hai nút DOM trên đó. Thành phần Member Member là một nút, và thuộc tính của phần tử firstname = "Herbert" là một nút.)
Cây đại diện cho tài liệu trong Liệt kê 1.
Một luận văn trên cây Có một số điều bạn sẽ khám phá bằng cách nhìn chằm chằm vào cây trong hình 1.Một số nút là con của các nút khác.
Ví dụ, nút Member là một
- con của nút AnchovyLoversClub. Đó là vì trong Liệt kê 1, phần tử Member được lồng bên trong phần tử AncoverLoversClub. Trong một cách tương tự, nút Standing là con của nút Member. Sự so sánh gia đình này cứ tiếp diễn. Nút Member là parentcủa nút Standing, và AncoverLoversClub là cha mẹ của nút Member. Toàn bộ tài liệu là một nút. Đây là một điểm quan trọng, và thật dễ quên. Trong Ví dụ 1, phần tử gốc của tài liệu là AnchovyLoversClub. Nhưng trong Hình 1, tên AnchovyLoversClub không ở trên đỉnh cây. Thay vào đó, từ #document nằm ở trên cùng của cây.
- nút trên cùng của cây DOM đại diện cho toàn bộ tài liệu XML. Lỗi xảy ra khi các lập trình viên nghĩ rằng phần tử gốc của tài liệu bắt đầu cây.(Không). Bình luận và mẩu tin là các nút.Trong Hình 1, bình luận là một nút con của nút tài liệu. Đó là vì, trong Ví dụ 1, nhận xét là một phần của tài liệu. Nhận xét không được lồng bên trong bất kỳ phần tử nào của tài liệu.
- Một lần nữa, chúng ta chơi phả hệ. Chúng ta nói rằng nút #document có hai con - một nút nhận xét và nút AnchovyLoversClub. Hai nút này - nhận xét và AnchovyLoversClub - được gọi là anh chị em. Cũng trong hình 1, văn bản Người sáng lập, Chủ tịch, Thư ký, Quản lý Công khai là một phần của một nút. Trong Liệt kê 1, Người sáng lập, Chủ tịch, Thư ký, Quản lý Công khai nằm trong phần Thường trực. Vì vậy, trong hình 1, nút văn bản này là con của nút Standing. Ngay cả văn bản có thể bỏ qua là một phần của một nút.Theo hình 1, nút AnchovyLoversClub có ba nút con trực tiếp - hai nút được gắn nhãn # văn bản và một nút khác có gắn nhãn Thành viên. Đó là bởi vì, theo như DOM là liên quan, nút AnchovyLoversClub có ba điều trong đó.
- Quay trở lại vận chuyển và ba khoảng trống Thành viên
Quay trở lại vận chuyển
Tình huống được minh họa trong Hình 2.
Hình 2:
-
Hai nút văn bản trong Liệt kê 1.
-
Thẻ kết thúc không phải là các nút.Với SAX, bạn có thể suy nghĩ về việc bắt đầu thành phần Member, và sau đó kết thúc phần Member. Trong DOM, bạn không nghĩ theo cách này. Thay vào đó, bạn hãy truy cập thành phần Member chỉ một lần. Trong lần truy cập đó, bạn truy cập phần tử Standing và một số văn bản. DOM không có phương pháp tương ứng với phương pháp cuối SAX.