1
je code comme ci-dessous:SQL Server: sélectionner xml avec espace de noms
declare @strXML nvarchar(max) =
'<?xml version="1.0" encoding="utf-16"?>
<GetDictResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<GetDictResult>
<Success xmlns="http://or.org/ValidationSchema.xsd">true</Success>
<Dicts xmlns="http://or.org/ValidationSchema.xsd">
<Dict>
<Code>TADR</Code>
<Name>Type of address</Name>
</Dict>
</Dicts>
</GetDictResult>
</GetDictResponse>
'
declare @xml xml = CONVERT(XML,CONVERT(NVARCHAR(MAX),@strXML))
--empty row result
SELECT
ltrim(rtrim(T.c.value('Code[1]','VARCHAR(max)'))) Code,
ltrim(rtrim(T.c.value('Name[1]','VARCHAR(max)'))) Name
FROM @xml.nodes('*/*/*/*') AS T(C)
--any rows
SELECT
ltrim(rtrim(T.c.value('Code[1]','VARCHAR(max)'))) Code,
ltrim(rtrim(T.c.value('Name[1]','VARCHAR(max)'))) Name
FROM @xml.nodes('GetDictResponse/GetDictResult/Dicts/Dict') AS T(C)
Comment puis-je obtenir Code
et Name
valeurs?
Cordialement, R.B.