Tạo mới tập tin XML sử dụng DOM trong Java

Trong bài viết trước, chúng ta đã cùng tìm hiểu làm thế nào để đọc được một tập tin XML sử dụng DOM trong Java. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo mới tập tin XML sử dụng DOM các bạn nhé!

Các bước để tạo mới một tập tin XML sử dụng DOM bao gồm:

  • Dùng đối tượng DocumentBuilder để định nghĩa nội dung của tập tin XML
  • Dùng đối tượng Transformer để ghi tập tin XML xuống ổ đĩa.

Trong bài viết này, chúng ta sẽ đi vào ví dụ cụ thể để tạo tập tin XML có nội dung như sau:



Định nghĩa nội dung tập tin XML

Đầu tiên chúng ta sẽ tạo mới một đối tượng Document từ đối tượng DocumentBuilder trước.

Trong tập tin XML trên, thẻ students là thẻ ngoài cùng nhất, root element. Do đó chúng ta sẽ thêm thẻ này trước.

Bây giờ chúng ta sẽ thêm thẻ student nằm bên trong thẻ students:

Để thêm thuộc tính n0=”1″ cho thẻ student, chúng ta sẽ sử dụng đối tượng Attr:

Bên trong thẻ student chúng ta lại có thêm các thẻ tên (name), mã sinh viên (code) và tuổi (age), nên nhiệm vụ còn lại của chúng ta là tạo 3 Element cho 3 thẻ đó và thêm chúng vào thẻ student mà thôi.

Thẻ name:

Thẻ code:

Thẻ age:



Ghi tập tin XML xuống ổ đĩa

Bằng cách sử dụng đối tượng Transformer, chúng ta sẽ ghi nội dung của tập tin xuống ổ đĩa nơi do chúng ta chỉ định.

Đầu tiên chúng ta cần đối tượng Transformer trước:

Trong đối tượng Transformer, nó có một phương thức với tên gọi là transform() với hai tham số là interface Source (được tạo ra từ đối tượng Document chứa nội dung của tập tin XML) và interface Result (chứa thông tin về tập tin XML sau khi được ghi xuống ổ đĩa) để thực hiện việc ghi tập tin XML xuống ổ đĩa.

Chúng ta sẽ tạo đối tượng DOMSource (đối tượng này hiện thực interface Source) để chứa nội dung của tập tin:

Và đối tượng StreamResult (hiện thực interface Result) chứa thông tin của tập tin XML:

Bây giờ chúng ta có thể gọi phương thức transform() của đối tượng Transformer để thực hiện việc ghi nội dung tập tin xuống ổ đĩa rồi:

Đầy đủ code như sau:

Kết quả:

Tạo mới tập tin XML sử dụng DOM trong Java

5/5 - (1 bình chọn)

Add Comment