Cách dùng XML sang C++
- 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ã C++ đã tạo vào dự án.
Về XML sang C++
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 cấu trúc trong không gian tên quicktype, kèm hàm from_json và to_json cho thư viện nlohmann/json.
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 C++ được tạo từ kết quả đó. Kết quả cần thư viện nlohmann/json dạng một header, cùng một đoạn mã hỗ trợ giá trị không bắt buộc đã được đính kèm.
Sử dụng mã đã tạo
Bao gồm đầu nlohmann json, sau đó auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
Các thành viên tùy chọn sử dụng std::shared_ptr<T> và là không hiệu lực khi khóa bị mất.