2016-01-26 6 views
1

Мой XML выглядитВыбор значений из XML с SQL Server 2012 с вложенными пространствами имен

<?xml version="1.0" encoding="UTF-8"?> 
<ListasExternasFull xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <Encabezado xmlns="http://tempuri.org/"> 
     <Acceso>true</Acceso> 
     <Usuario>FENALCO</Usuario> 
     <Contrasena>FENALCO2015PROD</Contrasena> 
     <Documento>24944511</Documento> 
     <TipoDocumento>1</TipoDocumento> 
     <Nombres /> 
     <Apellidos /> 
     <Login /> 
     <Fecha>2016-01-23T17:07:56.1986626-05:00</Fecha> 
     <IdConsulta>0</IdConsulta> 
    </Encabezado> 
    <objContraloria xmlns="http://tempuri.org/"> 
     <Id>92798</Id> 
     <IsContraloria>false</IsContraloria> 
     <Cedula>24944511</Cedula> 
     <Nombre /> 
     <Departamento /> 
     <Municipio /> 
     <EntidadAfectada /> 
     <FallosACargo /> 
     <TipoResponsabilidad /> 
     <TipoPersona /> 
     <ReportadoPor /> 
     <FechaControl>2016-01-23T17:03:43.13</FechaControl> 
     <Excepcion /> 
    </objContraloria> 
    <objFosyga xmlns="http://tempuri.org/"> 
     <Id>92496</Id> 
     <IsFosyga>false</IsFosyga> 
     <NumeroIdentidad>24944511</NumeroIdentidad> 
     <Nombre /> 
     <Apellido /> 
     <Departamento /> 
     <Municipio /> 
     <Estado /> 
     <Entidad /> 
     <Regimen /> 
     <FechaAfiliacion /> 
     <TipoAfiliado /> 
     <FechaControl>2016-01-23T17:07:56.285612-05:00</FechaControl> 
     <Excepcion>Se generó un error al consultar la lista. Por favor intente mas tarde o contacte a su administrador.</Excepcion> 
    </objFosyga> 
    <objOfac xmlns="http://tempuri.org/"> 
     <Id>91950</Id> 
     <Cedula>24944511</Cedula> 
     <Nombre /> 
     <Direccion /> 
     <Tipo /> 
     <Programa /> 
     <Score /> 
     <FechaControl>2016-01-23T17:03:43.097</FechaControl> 
     <Lista /> 
     <Excepcion /> 
     <IsOfac>false</IsOfac> 
    </objOfac> 
    <objPolicia xmlns="http://tempuri.org/"> 
     <Id>93113</Id> 
     <Cedula>24944511</Cedula> 
     <Nombre /> 
     <IsAntecedentes>false</IsAntecedentes> 
     <IsRegistrado>false</IsRegistrado> 
     <Mensaje /> 
     <FechaControl>2016-01-23T17:08:17.3118339-05:00</FechaControl> 
     <IsPolicia>false</IsPolicia> 
     <Excepcion>Se generó un error al consultar la lista. Por favor intente mas tarde o contacte a su administrador.</Excepcion> 
    </objPolicia> 
    <objRues xmlns="http://tempuri.org/"> 
     <Id>91297</Id> 
     <TipoID /> 
     <Nit>24944511</Nit> 
     <RazonSocial /> 
     <Descripcion_Camara /> 
     <Descripcion_Categoria_Matricula /> 
     <Fecha_Matricula /> 
     <IsRM>false</IsRM> 
     <IsRUP>false</IsRUP> 
     <IsESAL>false</IsESAL> 
     <IsRNT>false</IsRNT> 
     <FechaControl>2016-01-23T17:03:43.473</FechaControl> 
     <IsRUES>false</IsRUES> 
     <Excepcion /> 
    </objRues> 
    <objSim xmlns="http://tempuri.org/"> 
     <Id>92657</Id> 
     <Cedula>24944511</Cedula> 
     <NoRadicado /> 
     <Identificador /> 
     <FechaSolicitud /> 
     <Estado /> 
     <Resultado /> 
     <DisponibleEntrega /> 
     <Excepcion /> 
     <FechaControl>2016-01-23T17:03:43.207</FechaControl> 
     <IsSim>false</IsSim> 
    </objSim> 
    <objSimit xmlns="http://tempuri.org/"> 
     <Id>92905</Id> 
     <Cedula>24944511</Cedula> 
     <Infractor /> 
     <Resolucion /> 
     <FechaResolucion /> 
     <Comparendo /> 
     <FechaComparendo /> 
     <Secretaria /> 
     <Estado /> 
     <Infraccion /> 
     <ValorMulta /> 
     <InteresMora /> 
     <ValorAdicional /> 
     <ValorPagar /> 
     <FechaControl>2016-01-23T17:03:43.55</FechaControl> 
     <IsSimit>false</IsSimit> 
     <Excepcion /> 
    </objSimit> 
    <objSisben xmlns="http://tempuri.org/"> 
     <Id>94783</Id> 
     <IsSisben>true</IsSisben> 
     <NumeroDocumento>24944511</NumeroDocumento> 
     <Nombres>MARIA ISLENY</Nombres> 
     <Apellidos>RODAS DE FRANCO</Apellidos> 
     <TipoDocumento>Cédula de Ciudadanía</TipoDocumento> 
     <Departamento>RISARALDA</Departamento> 
     <Municipio>PEREIRA</Municipio> 
     <Area>1</Area> 
     <Ficha>10097</Ficha> 
     <Puntaje>47,86</Puntaje> 
     <FechaModificacion>2015/03/05</FechaModificacion> 
     <Estado>VALIDADO</Estado> 
     <FechaControl>2016-01-23T17:03:43.287</FechaControl> 
     <Excepcion /> 
    </objSisben> 
    <objRuaf xmlns="http://tempuri.org/"> 
     <Id>84066</Id> 
     <IsRuaf>true</IsRuaf> 
     <TipoIdentificacion>CC</TipoIdentificacion> 
     <Identificacion>24944511</Identificacion> 
     <Nombre>MARIA ISLENY RODAS DE FRANCO</Nombre> 
     <Sexo>FEMENINO</Sexo> 
     <UbicacionAfiliacion>RISARALDA - PEREIRA</UbicacionAfiliacion> 
     <EstadoAfiliado>ACTIVO</EstadoAfiliado> 
     <Administradora>NUEVA EPS SA</Administradora> 
     <Regimen>SALUD: CONTRIBUTIVO</Regimen> 
     <FechaAfiliacion>2015-08-01</FechaAfiliacion> 
     <TipoAfiliado>BENEFICIARIO</TipoAfiliado> 
     <FechaControl>2016-01-23T17:03:45.207</FechaControl> 
     <Observacion /> 
     <Excepcion /> 
    </objRuaf> 
    <objDisponibilidad xmlns="http://tempuri.org/"> 
     <Fosyga>true</Fosyga> 
     <Sisben>true</Sisben> 
     <Ofac>true</Ofac> 
     <Policia>true</Policia> 
     <Rues>true</Rues> 
     <Sim>true</Sim> 
     <Simit>true</Simit> 
     <Contraloria>true</Contraloria> 
     <Onu>true</Onu> 
     <Ruaf>true</Ruaf> 
    </objDisponibilidad> 
</ListasExternasFull> 

, и я не могу добраться проконсультироваться узел objRuaf/Identificación из-за вложенных пространств имен aguin я могу помочь с запросом для достижения этих узлов

ответ

2

Declare по умолчанию XML пространства имен WITH XMLNAMESPACES (DEFAULT 'http://tempuri.org/'):

;WITH XMLNAMESPACES (DEFAULT 'http://tempuri.org/') 
SELECT val = s.c.value('.', 'NVARCHAR(100)') 
FROM @x.nodes('//objRuaf/Identificacion') AS s(c); 

LiveDemo


Или:

;WITH XMLNAMESPACES ('http://tempuri.org/' AS a) 
SELECT val = s.c.value('.', 'NVARCHAR(100)') 
FROM @x.nodes('//a:objRuaf/a:Identificacion') AS s(c)