Chuyển đổi đối tượng Java sang tập tin XML sử dụng JAXB

Trong bài viết trước, mình đã hướng dẫn các bạn chuyển đổi một tập tin XML sang thành một đối tượng Java sử dụng JAXB. Bài viết này mình sẽ hướng dẫn các bạn làm điều ngược lại, tức là chuyển đổi đối tượng Java sang tập tin XML sử dụng JAXB các bạn nhé!

Mình cũng có một project như sau:

Chuyển đổi đối tượng Java sang tập tin XML sử dụng JAXB

Mình sẽ chuyển đổi đối tượng Student và các thuộc tính của nó sang một tập tin XML. Lớp Student phải được định nghĩa với các annotation của JAXB, cụ thể như sau:

OK, bây giờ chúng ta sẽ định nghĩa đối tượng Student trước nhé các bạn:

Ở bài viết trước, mình đã giới thiệu với các bạn đối tượng JAXBContext để tạo đối tượng Unmarshaller, ngoài ra đối tượng này còn có thể tạo ra một đối tượng khác dùng cho mục đích của chúng ta trong bài viết này, đó là Marshaller.

Đối tượng Marshaller này cung cấp cho chúng ta nhiều phương thức overloaded marshal() dùng để chuyển đối đối tượng Java sang tập tin XML hoặc nhiều kiểu xuất khác.

Kết quả:

Chuyển đổi đối tượng Java sang tập tin XML sử dụng JAXB

Nếu các bạn muốn định dạng lại tập tin XML thì có thể sử dụng đối tương Marshaller và thêm đoạn code sau:

Chạy lại chương trình và chúng ta sẽ có kết quả như sau:

Chuyển đổi đối tượng Java sang tập tin XML sử dụng JAXB

Toàn bộ code như sau, các bạn có thể tham khảo:

Add Comment