necesito obtener un xml desde sql con la sentencia FOR XML.
como ejemplo, este seria el xml que necesito:
<persona edad="34" nombre="juan perez" noIdentificacion="">
<direccion calle="Av. 54" noInterior="" noExterior=""/>
<afiliacion clave=""/>
</persona>
ya lo puedo obtener, pero mi pregunta es como puedo omitir los atributos y nodos que vinieran en blanco? es decir, si no tuviera el atributo noIdentificacion del nodo persona, o que en la DB estuviera vacio ese campo, como podria no poner el atributo noIdentificacion (igual para los atributos noExterior y noInterior de <direccion>) ? igual para el nodo afiliacion, si el atributo clave viniera en blanco, como podria no poner el nodo <afiliacion>? ya que no tendria sentido si no tiene el atributo clave.
que mi xml resultante fuera
<persona edad="34" nombre="juan perez">
<direccion calle="Av. 54"/>
</persona>
mi query es este:
Código SQL:
Ver original
SELECT edad, nombre, noIdentificacion, (SELECT calle, noInterior, noExterior FROM direccion FOR XML AUTO, TYPE ) AS direccion, (SELECT clave FROM afiliacion FOR XML AUTO, TYPE ) AS afiliacion FROM Persona FOR XML AUTO, TYPE
Saludos y espero que me puedan ayudar.
Muchas gracias.