1. Trang chủ
  2. » Giáo Dục - Đào Tạo

JAVA DOM (Document Object Model) docx

28 257 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 715,73 KB

Nội dung

DOM (Document Object Model) GV: Vũ Đình Hồng Khoa: CNTT – TỨD Nội dung thuyết trình  DOM gì? Các phần DOM Lợi ích hạn chế DOM Cấu trúc đối tượng DOM XML DOM XML DOM PARSER Cách tạo DOM Tạo đối tượng DOM Duyệt qua tài liệu Biên tập tài liệu Ví dụ Giới thiệu Ứng với cấu trúc tài liệu phải có cách thức để truy xuất  khó phát triển ứng dụng Cần xây dựng thư viện tổng quát sử dụng cho tài liệu  DOM đời http://www.w3.org/TR/DOM-Level-2/ DOM gì? DOM API( Application Programing Interface) độc lập ngôn ngữ cho phép chương trình script truy xuất động cập nhật nội dung, cấu trúc style tài liệu DOM có nhiều phiên bản: DOM Level 1, DOM Level 2, DOM Level (draft) DOM(tt) DOM chia làm phần khác (Core, XML, HTML):  CORE DOM - định nghĩa tập đối tượng chuẩn cho tất tài liệu có cấu trúc XML DOM - định nghĩa tập đối tượng chuẩn cho tài liệu XML HTML DOM - định nghĩa tập đối tượng chuẩn cho tài liệu HTML DOM(tt) HTML DOM (Document Object Model for HTML) HTML DOM định nghĩa tập đối tượng chuẩn cho HTML, tiêu chuẩn truy xuất xử lý tài liệu HTML XML DOM (Document Object Model for XML) XML DOM định nghĩa tập đối tượng chuẩn cho XML, tiêu chuẩn truy xuất xử lý tài liệu XML XML DOM cho phép đọc, tạo ra, sửa tài liệu XML Lợi ích DOM DOM giúp ta thao tác liệu dễ dàng Mỗi load file XML lên, DOM đọc toàn tài liệu XML lên nhớ xây dựng cấu trúc để lưu liệu vào đó, tạo DOM Tree Trình phân tích DOM (DOM Parser) giúp ta truy cập vào file XML, dùng DOM linh động Điều có nghĩa ta thao tác lúc ta muốn Hạn chế DOM DOM xây dựng lưu trữ toàn văn Nếu văn q lớn, địi hỏi số lượng nhớ lớn DOM tạo nên chủ thể biểu đạt thứ văn gốc Nếu bạn quan tâm tới phần nhỏ văn bản, vơ lãng phí Bộ kiểm ngữ DOM phải đọc toàn văn Đối với văn lớn, điều bị kéo dài đáng kể Cấu trúc DOM Một DOM Document tập nút, hay mẩu thông tin, tổ chức hệ phân cấp (biểu đồ cây) Hệ phân cấp cho phép người phát triển điều hướng quanh biểu đồ hình để tìm kiếm thơng tin cụ thể Phân tích cấu trúc Dom thường địi hỏi tồn tài liệu phải nạp hệ phân cấp cần xây dựng trước DOM gọi dựa biểu đồ cây, hay dựa đối tượng Các đối tượng DOM Đối tượng tài liệu (xmlDocument) : Bao gồm nhiều đối tượng thẻ liệu (xmlElement) cho phép sử dụng thẻ gốc thông qua đối tượng DocumentElement Đối tượng thẻ liệu (xmlElement) : Bao gồm nhiều đối tượng thuộc tính xmlAttribute Bao gồm nhiều đối tượng thẻ xmlElement Có thể có hay khơng có đối tượng giá trị xmlValue Đối tượng thuộc tính (xmlAttribute) : Lưu trữ thơng tin thực tế Lộ trình DOM Sử dụng DOM để lấy liệu Toàn tài liệu XML chuyển đổi sang mơ hình đối tượng Element chuyển thành node Element Content tương ứng node Mỗi attribute tương ứng node Tùy theo loại node có cách lấy liệu tương ứng Sau mở tài liệu XML, toàn tài liệu thành node Để truy xuất đến root Node dùng thuộc tính documentElement firstChild Orders.xml      PROCESSED   2341   874.00      REJECTED   251222   200.00     Tạo đối tượng DOM Để làm việc với thông tin tệp XML -> phân tích để tạo đối tượng Document Tạo DocumentBuilderFactory Đối tượng tạo DocumentBuilder Tạo DocumentBuilder DocumentBuilder thực phân tích thời để tạo đối tượng Document Phân tích tệp để tạo đối tượng Document Tạo đối tượng DOM File docFile = new File("orders.xml"); Document doc = null;       try { DocumentBuilderFactory dbf= DocumentBuilderFactory.newInstance(); dbf.setValidating(true);  DocumentBuilder db = dbf.newDocumentBuilder(); doc = db.parse(docFile); } catch (Exception e) { System.out.print("Problem parsing the file "+e.getMessage()); System.exit(1); } Duyệt qua tài liệu Lấy phần tử gốc Lấy nút nút duyệt qua nút Duyệt qua tài liệu //Lấy node gốc Element root = doc.getDocumentElement(); System.out.println("The root element is " + root.getNodeName()); // Đếm số node NodeList children=root.getChildNodes(); System.out.println("There are " + children.getLength() + " nodes in this document."); Duyệt qua tài liệu(tt) //Xuất giá trị các node con for (Node child = root.getFirstChild();  child != null; child =  child.getNextSibling())  { System.out.println(child.getNodeName() +" = " +child.getNodeValue()); } Biên tập tài liệu Thay đổi giá trị nút Thêm nút Xóa nút Thay nút Tạo thiết lập thuộc tính Xóa thuộc tính Biên tập tài liệu // private static void changeOrder (Node start, String  elemName, String elemValue)  { if (start.getNodeName().equals(elemName))  { start.getFirstChild().setNodeValue(elemValue); } for (Node child = start.getFirstChild();    child != null; child = child.getNextSibling())  { changeOrder(child, elemName, elemValue); } } Biên tập tài liệu changeOrder(root, "status","processing"); NodeList order= root.getElementsByTagName("status"); for (int orderNum = 0; orderNum 

Ngày đăng: 07/08/2014, 15:21

TỪ KHÓA LIÊN QUAN

w