Tôi đang xem xét các cách tiếp cận khác nhau cho dữ liệu marshalling/unmarshalling giữa Scala và XML, và tôi quan tâm đến việc nhận phản hồi của cộng đồng (tốt nhất là nền tảng kiến thức/kinh nghiệm đầu tiên).Marshalling/unmarshalling XML trong Scala
Hiện tại chúng tôi đang sử dụng JAXB, điều này là tốt, nhưng tôi hy vọng sẽ có giải pháp Scala thuần túy. Tôi đang xem xét các phương pháp sau đây:
Sử dụng Scala của tích hợp trong các cơ sở XML: Scala-> XML sẽ là dễ dàng, nhưng tôi đoán là theo một hướng khác sẽ khá đau đớn. Mặt khác, phương pháp này hỗ trợ logic dịch tùy ý.
dữ liệu ràng buộc: scalaxb có vẻ là hơi non nớt vào lúc này và không xử lý sơ đồ hiện tại của chúng tôi, và tôi không biết về bất kỳ dữ liệu khác liên kết thư viện cho Scala. Giống như JAXB, cần thêm một lớp dịch để hỗ trợ các phép biến đổi liên quan.
Bộ phối hợp trình xử lý XML: Bộ phối hợp bộ chọn pickler XML, nhưng hoạt động dự án gần đây đã ở mức thấp và tôi không biết trạng thái hiện tại là gì.
Câu hỏi:
- gì được kinh nghiệm của bạn với các phương pháp/thư viện tôi đã liệt kê?
- Ưu điểm và nhược điểm tương đối của mỗi loại là gì?
- Có phương pháp tiếp cận nào khác hoặc thư viện Scala mà tôi nên cân nhắc không?
Edit:
tôi đã thêm một số ghi chú trên những ấn tượng ban đầu của tôi về combinators Pickler trong câu trả lời của riêng tôi cho câu hỏi này, nhưng tôi vẫn rất quan tâm đến thông tin phản hồi từ những người thực sự biết các phương pháp khác trong chiều sâu. Những gì tôi hy vọng là một so sánh hơi toàn diện sẽ giúp các nhà phát triển lựa chọn phương pháp phù hợp với nhu cầu của họ.
Nếu bạn có thể gửi cho tôi lược đồ đến (eed3si9n tại gmail), tôi có thể sửa lỗi scalaxb. –