CodeGym
AI Academy
Khuyến mãi
CodeGym University
Học tập
Khóa học
Bài tập
Khảo sát & Bài kiểm tra
Trò chơi
Trợ giúp
Lịch
Cộng đồng
Người dùng
Diễn đàn
Trò chuyện
Bài viết
Câu chuyện thành công
Hoạt động
Đánh giá
Gói đăng ký
Chủ đề sáng

Bài học

  • Đánh giá
  • Về chúng tôi
Bắt đầu
Bắt đầu học
Bắt đầu học ngay
  • Tiến độ của tôi
  • Khóa học
  • Bản đồ Quest
  • Bài học
  • Cơ bản về XML và namespaces

    JAVA 25 SELF
    Cấp độ 47,Bài học 0
    Giới thiệu ngắn gọn và thực tiễn về XML: cấu trúc cơ bản (phần tử, thuộc tính, nút văn bản, chú thích, CDATA), bố cục của prolog, và quan trọng nhất — vì sao cần không gian tên (namespaces) và cách khai báo, áp dụng chúng thông qua các thuộc tính xmlns và xmlns:prefix. Chúng ta sẽ phân tích tiền tố, namespace mặc định ( xmlns= "URI"), trộn nhiều “từ điển” khác nhau trong cùng một tài liệu và các lỗi phân tích thường gặp.
    Có sẵn
  • Làm việc với DOM, SAX: phân tích cú pháp XML

    JAVA 25 SELF
    Cấp độ 47,Bài học 1
    Trong bài giảng này, chúng ta xem xét hai cách tiếp cận kinh điển để phân tích XML: dạng cây DOM và dạng sự kiện SAX. Bạn sẽ học cách đọc và thay đổi tài liệu thông qua cấu trúc cây ( Document, Element, NodeList) và xử lý các tệp lớn theo luồng với các bộ xử lý sự kiện ( SAXParser, DefaultHandler, startElement/ characters/ endElement). Chúng tôi sẽ chỉ ra ưu và nhược điểm của từng cách tiếp cận, đưa ra ví dụ thực tế và phân tích các lỗi thường gặp (bộ nhớ, việc chia nhỏ văn bản trong characters, cố gắng sửa đổi XML khi dùng SAX).
    Có sẵn
  • StAX (Streaming API for XML) — phân tích dạng luồng

    JAVA 25 SELF
    Cấp độ 47,Bài học 2
    Tìm hiểu phân tích XML dạng luồng với StAX: mô hình pull khác gì so với cách tiếp cận push của SAX, cách tạo trình phân tích qua XMLInputFactory và đọc sự kiện từ XMLStreamReader bằng vòng lặp với các lần gọi reader. next(), có những loại sự kiện nào ( START_ELEMENT, CHARACTERS, END_ELEMENT, END_DOCUMENT) và khi nào StAX nên được ưu tiên hơn DOM/ SAX. Thêm nữa: bảng so sánh các cách tiếp cận, sơ đồ Mermaid và phân tích các lỗi thường gặp (rò rỉ luồng/tài nguyên, mức lồng nhau của phần tử, ngoại lệ XMLStreamException, IOException).
    Có sẵn
  • Làm việc với XML bằng JAXB: cơ bản và annotation

    JAVA 25 SELF
    Cấp độ 47,Bài học 3
    Cách dùng JAXB (Jakarta XML Binding) để chuyển đổi các đối tượng Java thành XML và ngược lại: các annotation chính @XmlRootElement, @XmlElement, @XmlAttribute, @XmlType, @XmlTransient; các lớp cơ bản JAXBContext, Marshaller, Unmarshaller; cấu hình định dạng thông qua thuộc tính Marshaller.JAXB_FORMATTED_OUTPUT. Xem xét các phụ thuộc Maven cho Java 11+ ( jakarta.xml.bind-api, jaxb-runtime), làm việc với collection và đối tượng lồng nhau, kiểm soát thứ tự phần tử ( propOrder), loại trừ trường và các lỗi thường gặp.
    Có sẵn
  • Cấu hình tuần tự hóa XML: adapter tùy chỉnh

    JAVA 25 SELF
    Cấp độ 47,Bài học 4
    Cách hướng dẫn JAXB tuần tự hóa các kiểu “không chuẩn” và biểu diễn dữ liệu theo định dạng mong muốn: dùng chú thích @XmlJavaTypeAdapter và viết adapter riêng dựa trên XmlAdapter<ValueType, BoundType>. Sẽ phân tích định dạng hóa ngày ( LocalDate → "dd.MM.yyyy"), số ( BigDecimal), làm việc với collection, đưa giá trị vào thuộc tính bằng @XmlAttribute, phần tử bằng @XmlElement và loại trừ trường bằng @XmlTransient. Luyện tập tuần tự hóa/giải tuần tự qua Marshaller/ Unmarshaller và xem các lỗi thường gặp.
    Có sẵn
Học
  • Đăng ký
  • Khóa học Java
  • Trợ giúp bài tập
  • Bảng giá
  • Cú pháp Java
Cộng đồng
  • Người dùng
  • Bài viết
  • Diễn đàn
  • Trò chuyện
  • Câu chuyện thành công
  • Hoạt động
  • Chương trình giới thiệu
Công ty
  • Về chúng tôi
  • Liên hệ
  • Đánh giá
  • Phòng báo chí
  • CodeGym cho EDU
  • Câu hỏi thường gặp
  • Hỗ trợ
CodeGymCodeGym là một khóa học trực tuyến để học lập trình Java từ đầu. Khóa học này là cách hoàn hảo để nắm vững Java cho người mới bắt đầu. Nó chứa 1200+ bài tập với kiểm tra ngay lập tức và phạm vi lý thuyết cơ bản cần thiết về Java. Để giúp bạn thành công trong học tập, chúng tôi đã triển khai một bộ tính năng tạo động lực: bài kiểm tra, dự án lập trình, nội dung về phương pháp học hiệu quả, và hỗ trợ sự nghiệp lập trình viên Java.
Theo dõi chúng tôi
Ngôn ngữ giao diện
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский
Vietnamese
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym
MastercardVisa
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym