Recursividad en XML

18/09/2006 - 22:24 por Marianoh | Informe spam
Hola a todos:

Estoy trabajando en un módulo que consulta una BD segun criterios
agregados por el usuario.

Este tiene la posibilidad de agrupar las condiciones en grupos y a
la vez definir operadores 'y' u 'o' entre las condiciones y entre los
grupos.

Esta selección de criterios la represento en un XML, por lo que la
cantidad de elementos y anidamientos varian.

Pienso usar SQL dinámico para crear la consulta, pero entiendo que
con OPENXML no puedo recorrer recursivamente los nodos de un XML, lo
que me obligaría a contatenar el WHERE de la consulta en la
aplicación.

Quisiera saber si esto es correcto o si SQL 2005 me ofrece alguna
posibilidad. El rendimiento no es tan importante en este caso dado que
son pocas consultas.

Saludos y gracias por sus opiniones.

Mariano
 

Leer las respuestas

#1 Miguel Egea
28/09/2006 - 15:46 | Informe spam
Si tienes sql2005 puedes usar tanto xquery como xpath para acceder a tu tipo
de datos xml, otra cosa muy distinta es que lo que planteas pueda o no ser
buena idea, que con los datos que nos das no podemos decirte.
No me entiendas mal, no estoy cuestionando que esté bien o mal, solo intento
que se vea que el problema no parece trivial y que lo que nos enseñas no es
más que el punto final resultado de tus conclusiones en base a unos
requisitos que solo tu conoces. Igual no hay otro remedio que hacerlo así,
pero igual, si nos planteas el problema en su globablidad alguno ya lo ha
resuelto de otra forma, igual dentro o igual fuera de la base de datos.


Saludos
Miguel Egea
"Marianoh" wrote in message
news:
Hola a todos:

Estoy trabajando en un módulo que consulta una BD segun criterios
agregados por el usuario.

Este tiene la posibilidad de agrupar las condiciones en grupos y a
la vez definir operadores 'y' u 'o' entre las condiciones y entre los
grupos.

Esta selección de criterios la represento en un XML, por lo que la
cantidad de elementos y anidamientos varian.

Pienso usar SQL dinámico para crear la consulta, pero entiendo que
con OPENXML no puedo recorrer recursivamente los nodos de un XML, lo
que me obligaría a contatenar el WHERE de la consulta en la
aplicación.

Quisiera saber si esto es correcto o si SQL 2005 me ofrece alguna
posibilidad. El rendimiento no es tan importante en este caso dado que
son pocas consultas.

Saludos y gracias por sus opiniones.

Mariano

Preguntas similares