2008-10-29 12 views
7

Trabajo en una empresa pequeña y nuestro sistema de producción utiliza una API RESTful enrollada a mano, implementada en Java con JAXB. Ahora descubrimos que nos enfrentamos a clientes que usan Ruby on Rails, y tengo que crear una implementación de referencia para mostrarles a los clientes cómo usar nuestra API en Ruby. Me encantaría poder decirles que usen ActiveResource, pero el XML requerido por nuestra API usa (y absolutamente lo requiere) espacios de nombres. Lamentablemente, ya tenemos varios otros clientes que ya han integrado esta API, por lo que no es posible eliminar el uso de espacios de nombres. ¿Cuál es la mejor forma de generar XML con espacios de nombres en Ruby?Soporte de Ruby para espacios de nombres XML

Respuesta

9

"Mejor" obviamente depende de sus necesidades.

La forma más rápida para generar XML en cualquier rubí es utilizar libxml-ruby - link to rdoc. Si su servidor recibe algún tipo de carga, este será el camino a seguir.

El manera más sencilla de generar XML en cualquier rubí es utilizar REXML ya que es parte de la biblioteca estándar y por lo tanto, "simplemente funciona". Si su generación de XML es algo que casi nunca se usa, probablemente sea más fácil ir con rexml.

Ambas apoyo espacios de nombres XML - Controlar las rdocs para averiguar cómo configurar y obtener espacios de nombres

+0

El rendimiento no es realmente un problema aquí, así que dudé a ir con REXML ya que parecía que la solución más rápida, más sencilla y funcionó bastante bien. Muchas gracias por su respuesta. –

1

me encuentro en una situación idéntica, casi como la suya (API REST hace con JAXB w/espacios de nombres).

Creo que el proyecto más prometedor para trabajar con XML en Ruby es HappyMapper. Es un tipo de biblioteca de enlace XML (en la línea de una implementación temprana de tipo JAXB). Ha estado ganando mucha tracción recientemente, y algunos de nosotros hemos estado trabajando para proporcionar un buen soporte del espacio de nombres.

El proyecto reside aquí: http://happymapper.rubyforge.org/

con la fuente aquí: http://github.com/jnunemaker/happymapper/tree/master

El proyecto actualmente no es compatible con la creación de XML de rubí objetos, y el autor original no ha expresado el deseo de proporcionar ese soporte, pero voy a estar comprometiendo alguna funcionalidad para eso en mi fork: http://github.com/jimmyz/happymapper/tree/master

Espero que esto ayude.

- Jimmy Zimmerman

Cuestiones relacionadas