Các lớp dùng cho việc generate XML

Một phần của tài liệu đồ án công nghệ thông tin XÂY DỰNG CÔNG CỤ EDITOR WORKFLOW CHO ỨNG DỤNG TÌM KIẾM DẠNG META-HEURISTIC (Trang 84)

Như đã biết, mô hình DOM được biểu diễn dưới dạng cây cấu trúc dữ liệu được dùng để truy xuất các tài liệu dạng HTML và XML. DOM xem mọi thứ trong tài liệu XML là node, tổ chức thành cây phân cấp. DOM đặc tả file XML gồm các node sau:

• Toàn bộ tài liệu là một document node. • Mỗi phần tử XML là một element node. • Text trong các phần tử XML là text node. • Mỗi thuộc tính là một attribute node. • Chú thích là comment node.

Để generate file XML cần có 2 loại class:

Class thuộc thư viện JAXP: Những class thuộc loại này bao gồm: Element, Document. Đây là các class dùng để định nghĩa các thành phần của ngôn ngữ XML. Thư viện JAXP sẽ được nói đến trong mục sau.

Class thuộc thư viện Xerces2 Java: Những class thuộc loại này bao gồm: OutputFormat, XMLSerializer. Đây là các class dùng để serialize ngôn ngữ XML thành tài liệu theo định dạng của Xerces2 Java quy định. Thay vì chúng ta có thể dùng

Chương 7. Chức năng nâng cao của Workflow Editor

output stream của Java để tạo ra file XML nhưng bố cục của file không gọn gàng như khi dùng Xerces2 Java.

Class Document:

void DocumentImpl(): phương thức khởi tạo dùng để tạo ra định dạng document tree và là đối tượng dùng để truy cập vào dữ liệu bên trong document đó.

Element createElement(name): phương thức này có trị trả về là một đối tượng Element, dùng để tạo ra phần tử thuộc document với tên là name(chỉ mới tạo ra, chưa được đưa vào document).

void appendChild(Element): dùng để đưa vào document đối tượng Element.

Class Element:

void setAttribute(name, value): thiết lập thuộc tính có tên name và giá trị value cho thuộc tính đó của đối tượng Element.

void appendChild(Element): dùng để đưa vào Element hiện tại các Element “con”.

Class OutputFormat:

void OutputFormat(org.w3c.dom.Document doc, java.lang.String encoding, boolean indenting): phương thức khởi tạo định dạng khi xuất ra file. Ở đây Document doc sẽ là “XML”, String encoding là “UTF-8” và indenting(thụt đầu dòng mỗi khi tạo Element mới) là true.

Class XMLSerializer:

void XMLSerializer(FileOutputStream, OutputFormat): khởi tạo một serializer ghi dữ liệu được định dạng bởi output format ra đĩa dùng luồng xuất output stream.

void asDOMSerializer(): thiết lập một DOMSerializer interface cho đối tượng XMLSerializer. void serialize(org.w3c.dom.Document doc): dùng để serializer một document theo mô hình DOM.

Sau khi đã serializer một tài liệu mô hình DOM, chúng ta đã tạo được file XML theo mô hình DOM.

Chương 7. Chức năng nâng cao của Workflow Editor

Hình 7.7: Sơ đồ tuần tự các hoạt động khi tạo file XML

Chương 7. Chức năng nâng cao của Workflow Editor

Document xmldoc= new DocumentImpl(); //tạo tài liệu xmldoc Element root = xmldoc.createElement("WorkFlow");

//tạo Element root tượng trưng cho Element Workflow root.setAttribute("property", giá trị của property); //thiết lập thuộc tính property cho Element Workflow Element place = xmldoc.createElement("Place");

//tạo Element place tượng trưng cho Element Place place.setAttribute("name", giá trị của name); place.setAttribute("algorithm", "edaHC"); //thiết lập các thuộc tính cho place root.appendChild(place);

//thêm Element place vào Element root xmldoc.appendChild(root);

//thêm Element root vào Element xmldoc

FileOutputStream fos = new FileOutputStream(path); //khởi tạo output stream với đường dẫn là path

OutputFormat of = new OutputFormat("XML","UTF-8",true); //khởi tạo định dạng

XMLSerializer serializer = new XMLSerializer(fos,of);

/*khởi tạo một serializer với output stream và định dạng được chỉ định trước*/

serializer.asDOMSerializer();

serializer.serialize(xmldoc.getDocumentElement()); //các phương thức này dùng để generate ra file XML

Một phần của tài liệu đồ án công nghệ thông tin XÂY DỰNG CÔNG CỤ EDITOR WORKFLOW CHO ỨNG DỤNG TÌM KIẾM DẠNG META-HEURISTIC (Trang 84)

Tải bản đầy đủ (DOC)

(98 trang)
w