Cách dùng XML sang Crystal
- Dán một ví dụ XML đại diện cho dữ liệu của bạn, tốt nhất là đã điền cả các trường không bắt buộc.
- Đặt tên kiểu gốc và chọn tạo thêm mã hỗ trợ hay chỉ tạo các kiểu dữ liệu.
- Sao chép mã Crystal đã tạo vào dự án.
Về XML sang Crystal
Viết thủ công các lớp mô hình cho lượng dữ liệu XML lớn khá nhàm chán và rất dễ gõ sai. Dán ví dụ vào đây, công cụ sẽ xác định cấu trúc: có những trường nào, trường nào là đối tượng hay mảng và mỗi giá trị có kiểu gì. Kết quả là các lớp có JSON::Serializable từ thư viện chuẩn.
XML đầu tiên được chuyển đổi thành JSON theo cùng một cách như trong công cụ XML để JSON của chúng tôi: thuộc tính nhận được một @_ Prefix và nội dung văn bản bên cạnh thuộc tính được gọi là #text. Các kiểu Crystal được tạo từ kết quả đó. Thuộc tính được khai báo bằng macro property, còn khóa được ánh xạ bằng chú thích JSON::Field khi cần.
Sử dụng mã đã tạo
Gọi Root.from_json(json) để phân tích cú pháp, và dùng to_json để ghi dữ liệu.
Các trường tùy chọn là các loại liên minh như: String | Nil.