2008-10-29 5 views
7

저는 작은 회사에서 일하고 우리의 프로덕션 시스템은 Java에서 JAXB로 구현 된 손으로 롤아웃 된 RESTful API를 사용합니다. 이제 우리는 Ruby on Rails를 사용하는 고객을 확보하고 있으며 Ruby에서 API를 사용하는 방법을 고객에게 보여주기 위해 참조 구현을해야합니다. ActiveResource를 사용하라고 말할 수는 있지만, API가 요구하는 XML은 네임 스페이스를 사용합니다 (그리고 절대적으로 필요합니다). 안타깝게도 이미이 API를 통합 한 여러 고객이 이미 있으므로 이름 공간 사용을 제거하는 것은 문제가되지 않습니다. Ruby에서 네임 스페이스를 사용하여 XML을 생성하는 가장 좋은 방법은 무엇입니까?XML 네임 스페이스에 대한 Ruby 지원

답변

9

"최고"분명히 귀하의 필요에 따라 다릅니다. link to rdoc -

루비의 모든 XML을 생성하는 빠른 방법은 libxml-ruby을 사용하는 것입니다. 서버에 어떤 종류의 부하라도 발생하면이 방법이 유용 할 것입니다.

가장 쉬운 루비에서 XML을 생성하는 방법은 REXML을 표준 라이브러리의 일부로 사용하기 때문에 "그냥 작동합니다". XML 생성이 거의 사용되지 않는다면 rexml을 사용하는 것이 더 쉽습니다.

모두 지원 XML 네임 스페이스 - 설정하고 난 당신 (의 RESTful API 네임 스페이스 승/JAXB와 함께 수행)와 거의 동일한 상황에서 자신을 찾을 수 네임 스페이스를

+0

성능이 정말 여기에 문제가되지 않습니다, 그래서 나는 그것이 가장 쉽고 빠르게 모습으로 REXML로가는 상처와 꽤 잘 작동. 응답 해주셔서 감사합니다. –

1

을 얻는 방법을 찾기 위해 rdocs을 확인합니다.

Ruby에서 XML 작업을하는 가장 유망한 프로젝트는 HappyMapper라고 생각합니다. 이것은 일종의 XML 바인딩 라이브러리입니다 (초기 JAXB 유형 구현의 라인을 따라). 최근에 많은 관심을 끌었으며, 우리 중 일부는 좋은 네임 스페이스 지원을 제공하기 위해 노력하고 있습니다.

이 프로젝트는 여기에있는 : http://github.com/jnunemaker/happymapper/tree/master

이 프로젝트는 현재 루비 개체에서 XML의 생성을 지원하지 않으며, 원래 저자가 제공 할 욕망을 표현하지 않았다 : 여기 소스와 http://happymapper.rubyforge.org/

그 지원,하지만 내 포크에 대한 몇 가지 기능을 저지르고있을거야 : http://github.com/jimmyz/happymapper/tree/master

희망이 도움이됩니다.

- 지미 짐머만

관련 문제