sql >> Databáze >  >> RDS >> Sqlserver

Dotazování na datové typy XML, které mají atributy uzlu xmlns

Pokud váš dokument XML obsahuje jmenné prostory XML, musíte je ve svých dotazech vzít v úvahu!

Pokud tedy váš XML vypadá jako váš vzorek, pak potřebujete:

-- define the default XML namespace to use
;WITH XMLNAMESPACES(DEFAULT 'bar')
SELECT   
    x.u.value('Name[1]', 'varchar(100)') as Name
from 
    @XMLDOC.nodes('/Feed/Product') x(u)

Nebo pokud chcete mít explicitní kontrolu nad tím, který jmenný prostor XML použít (např. pokud jich máte více), použijte předpony jmenného prostoru XML:

-- define the XML namespace 
;WITH XMLNAMESPACES('bar' as b)
SELECT   
    x.u.value('b:Name[1]', 'varchar(100)') as Name
from 
    @XMLDOC.nodes('/b:Feed/b:Product') x(u)


  1. Oracle LISTAGG() pro dotazování

  2. Jak uložit textový řetězec se zalomením řádků do textového pole databáze MySQL pomocí PHP?

  3. Oracle TNS:název síťové služby je zadán nesprávně

  4. Nastavení časového pásma připojení pomocí Spring a DBCP a MySQL