Foros del Web » Programación para mayores de 30 ;) » .NET »

System.Xml.LinQ o con XQuery... Como hacer esta consulta.

Estas en el tema de System.Xml.LinQ o con XQuery... Como hacer esta consulta. en el foro de .NET en Foros del Web. Buenos días foreros... No sé si alguien tiene experiencia con System.Xml.LinQ o con XQuery, o bueno... no sé si esto se puede hacer de una ...
  #1 (permalink)  
Antiguo 03/06/2009, 05:21
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
System.Xml.LinQ o con XQuery... Como hacer esta consulta.

Buenos días foreros...

No sé si alguien tiene experiencia con System.Xml.LinQ o con XQuery, o bueno... no sé si esto se puede hacer de una forma rápida y sencilla y óptima.

Quiero sacar, por ejemplo, todos los nodos hijos del tag Controles, del permiso valor="000001", del rol valor="03" y que su prioridad sea la menor.

Código:
<gestion_controles>

	<!--NOMBRE PAGINA-->
	<pagina nombre="AdminMedicos.aspx">

		<!--CLASE USUARIO-->
		<rol valor="03">

			<!--PERMISO USUARIO-->
			<permiso valor="000001" descripcion="Permiso de EdicionMedicoCuadro" prioridad="0">
				<controles>
					<control id="btnGuardarMedico" propiedad="Enabled" valor="True" />
				</controles>
			</permiso>
			<permiso valor="000003" descripcion="Permiso de ConsultaDocumenacionProveedorCuadro" prioridad="1">
				<controles>
					<control id="btnGuardarMedico" propiedad="Enabled" valor="False" />
				</controles>
			</permiso>
		</roles>
	</pagina>
</gestion_controles>

Es decir... por ejemplo querría hacer algo como:

SELECT * FROM CONTROLES WHERE PERMISO.valor IN('000001','000003') and rol.valor="03" AND PRIORIDAD=(SELECT TOP 1 PRIORIDAD WHERE PERMISO.valor IN('000001','000003') and rol.valor="03" ORDER BY DESC)

Con esta consulta, sacaríamos los tags:
<control id="btnGuardarMedico" propiedad="Enabled" valor="True" />

Esto es para la gestión de controles, entonces, un usuario puede tener dos permisos, o uno, o 20. Por lo que quiero coger todos los controles del permiso con mayor prioridad para el rol de usuario.

En fin, espero haberme explicado y que puedan ayudarme...
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:25.