Supongo que no seré el único que trabaja por “comparación”, esto es, vemos un trozo de código ya escrito, lo intentamos entender y si resuelve nuestro problemas no nos preocupamos de ver si existe más o mejores formas de usarlo. Y por supuesto, no le echamos un vistazo a la documentación, bahh! eso es muy aburrido, :-) .

Esto mismo me ocurría con la función $() de jQuery, pensaba que sólo valía para buscar elementos del DOM. Sabía de oidas que podía admitir un segundo argumento, pero tampoco le hice mucho caso … hasta que cayó en mis manos la guía de referencia de jQuery y me dediqué a ojearla por las noches antes de dormir.

Descubrí que efectivamente había un segundo argumento, el selector de contexto, que basicamente obligaba a buscar los elementos del primer argumento en el segundo, en lugar del DOM completo. Es más, hubo un párrafo que llamo mi atención,

El selector de contexto es muy también para documentos XML, aunque estos no forme parten del árbol DOM

Así que me puse a darle vueltas como podría hacer un pequeño experimento para asegurarme de que, efectivamente, se puede parsear un XML con la función dólar $(). He aquí el resultado:

var my_xml = "<root>
                <item>texto 1</item>
                <item>texto 2</item>
             </root>";
$("item:first",my_xml).text(); // texto 1

Por supuesto, se podía había haber utilizado un XML más complejo, y unos selectores que devolviese algún array, pero la única intención es “ampliar miras” y ver esto como una herramienta útil a la hora de parsear XML que provengan de una respuesta AJAX o de conectarse a una API externa.


Compártelo:
  • Print this article!
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Ping.fm
  • RSS
  • Twitter