Tôi làm việc tại một công ty nhỏ và hệ thống sản xuất của chúng tôi sử dụng API RESTful được cuộn bằng tay, được triển khai bằng Java với JAXB. Bây giờ chúng tôi thấy rằng chúng tôi đang sử dụng các khách hàng sử dụng Ruby on Rails và tôi phải đưa ra một triển khai tham chiếu để cho khách hàng biết cách sử dụng API của chúng tôi trong Ruby. Tôi rất muốn có thể chỉ yêu cầu họ sử dụng ActiveResource, nhưng XML theo yêu cầu của API của chúng tôi sử dụng (và hoàn toàn yêu cầu) không gian tên. Thật không may, chúng tôi đã có một số khách hàng khác đã tích hợp API này, do đó việc xóa sử dụng không gian tên nằm ngoài câu hỏi. Cách tốt nhất để tạo XML với các không gian tên trong Ruby là gì?Hỗ trợ Ruby cho các không gian tên XML
Trả lời
"Tốt nhất" rõ ràng phụ thuộc vào nhu cầu của bạn.
nhanh nhất cách để tạo bất kỳ XML nào trong ruby là sử dụng libxml-ruby - link to rdoc. Nếu máy chủ của bạn nhận được bất kỳ loại tải nào, đây sẽ là cách để thực hiện.
cách dễ nhất cách để tạo bất kỳ XML nào trong ruby là sử dụng REXML vì nó là một phần của thư viện chuẩn và do đó nó "chỉ hoạt động". Nếu thế hệ XML của bạn là cái gì đó hầu như không bao giờ được sử dụng, nó có thể dễ dàng hơn để đi với rexml.
Cả hai hỗ trợ không gian tên XML - kiểm tra rdocs để tìm hiểu làm thế nào để thiết lập và nhận được không gian tên
tôi thấy mình trong gần một tình huống giống hệt như của bạn (RESTful API thực hiện với JAXB w/không gian tên).
Tôi nghĩ rằng dự án hứa hẹn nhất để làm việc với XML trong Ruby là HappyMapper. Nó là một loại thư viện ràng buộc XML (dọc theo các dòng của một triển khai kiểu JAXB sớm). Nó đã đạt được nhiều lực kéo gần đây, và một vài trong số chúng tôi đã làm việc để cung cấp hỗ trợ không gian tên tốt.
Dự án cư trú ở đây: http://happymapper.rubyforge.org/
với nguồn ở đây: http://github.com/jnunemaker/happymapper/tree/master
Dự án hiện không hỗ trợ việc tạo ra XML từ Ruby Objects, và tác giả ban đầu đã bày tỏ sự không mong muốn cung cấp sự hỗ trợ đó, nhưng tôi sẽ cam kết một số chức năng cho điều đó trong ngã ba của tôi: http://github.com/jimmyz/happymapper/tree/master
Hy vọng điều này sẽ hữu ích.
- Jimmy Zimmerman
- 1. Hỗ trợ Ruby cho SVG
- 2. Squeak có hỗ trợ không gian tên không?
- 3. HTML5 có hỗ trợ không gian tên không?
- 4. TypeScript có hỗ trợ không gian tên không?
- 5. Hỗ trợ JPA cho các cột dữ liệu XML
- 6. Tài liệu XML cho không gian tên
- 7. iPhone có hỗ trợ XML-RPC không?
- 8. XML Groovy và không gian tên "xml:"
- 9. Lớp Ruby nào hỗ trợ .clone?
- 10. Hỗ trợ gì cho các mẫu uri?
- 11. Quy ước đặt tên tốt hoặc phổ biến cho các URI không gian tên XML
- 12. Trình chỉnh sửa XML hỗ trợ 1,1
- 13. Cần thành phần xml hỗ trợ D2009
- 14. Scalatest có hỗ trợ cho các giả định không?
- 15. Có ngôn ngữ lập trình nào hỗ trợ xml không?
- 16. API không được hỗ trợ cho AudioPlayerAgent
- 17. Cài đặt vim với hỗ trợ ruby (+ ruby)
- 18. Không gian tên Xml và C# csproj
- 19. .NET XML Deserialization bỏ qua các không gian tên
- 20. Hỗ trợ IMAP IDLE trong ruby
- 21. DataTable không hỗ trợ suy luận lược đồ từ Xml.?
- 22. ruby có hỗ trợ nhiều thừa kế
- 23. Phần tử XML có tên 'tên' từ tham chiếu không gian tên các loại riêng biệt
- 24. WatiN hỗ trợ cho các thẻ HTML5
- 25. Các biến logic hỗ trợ cho .NET
- 26. xml serialization - xóa không gian tên
- 27. Ruby có hỗ trợ loại gợi ý không?
- 28. Ruby 1.9 không hỗ trợ chuẩn hóa Unicode
- 29. ActionBar (Hỗ trợ) với Fragment (hỗ trợ)
- 30. Làm thế nào để chọn các nút XML với không gian tên XML từ một XmlDocument?
Hiệu suất là không thực sự là một vấn đề ở đây, vì vậy tôi quấn lên đi với REXML vì nó trông giống như các giải pháp nhanh nhất, đơn giản nhất và nó làm việc khá tốt. Cảm ơn bạn rất nhiều vì đã trả lời của bạn. –