0

I would like to select this line from my XML:

<komentarz>Nieprawidłowy parametr - IdTabeliRekorduZrodlowego</komentarz>

My code and XML looks like:

DECLARE @XML XML
DECLARE @NRZAM VARCHAR(4000)

SET @XML = '
<tns:powiadom
    xmlns:ns3="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:tns="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne">
  <nazwaKwalifikowanaInterfejsuWywolywanego xmlns:ns3="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne">{http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie}zarejestrujStanZgodyAsync</nazwaKwalifikowanaInterfejsuWywolywanego>
  <odpowiedz xmlns:ns3="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne" xsi:type="ns3:OdpowiedzZgod">
    <uid>EEE5A475-ECF5-4DBD-AB4E-7AB6442A4D6D</uid>
    <status>BLAD</status>
    <stanZgodyStatus xmlns:ns3="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne">
      <idPoziomy>4</idPoziomy>
      <idReferencji>114601901</idReferencji>
      <idTypyZgod>1110</idTypyZgod>
      <kodBledu>14</kodBledu>
      <komentarz>Nieprawidłowy parametr - IdTabeliRekorduZrodlowego</komentarz>
    </stanZgodyStatus>
    <stanZgodyStatus xmlns:ns3="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne">
      <idPoziomy>4</idPoziomy>
      <idReferencji>114601901</idReferencji>
      <idTypyZgod>1092</idTypyZgod>
      <kodBledu>14</kodBledu>
      <komentarz>Nieprawidłowy parametr - IdTabeliRekorduZrodlowego</komentarz>
    </stanZgodyStatus>
  </odpowiedz>
  <odpowiedz xmlns:ns3="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne" xsi:type="ns3:OdpowiedzZgod">
    <uid>EEE5A475-ECF5-4DBD-AB4E-7AB6442A4D6D</uid>
    <status>BLAD</status>
    <stanZgodyStatus xmlns:ns3="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne">
      <idPoziomy>4</idPoziomy>
      <idReferencji>114601901</idReferencji>
      <idTypyZgod>1110</idTypyZgod>
      <kodBledu>14</kodBledu>
      <komentarz>Nieprawidłowy parametr - IdTabeliRekorduZrodlowego</komentarz>
    </stanZgodyStatus>
    <stanZgodyStatus xmlns:ns3="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne">
      <idPoziomy>4</idPoziomy>
      <idReferencji>114601901</idReferencji>
      <idTypyZgod>1092</idTypyZgod>
      <kodBledu>14</kodBledu>
      <komentarz>Nieprawidłowy parametr - IdTabeliRekorduZrodlowego</komentarz>
    </stanZgodyStatus>
  </odpowiedz>
  <metryka xmlns:ns3="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne">
    <uzytkownik>sa</uzytkownik>
    <system>SUZ</system>
    <data>2018-12-17T10:38:12.880</data>
    <uid>811ED2F9-1A71-4F9F-B858-A8EE256F6604</uid>
  </metryka>
</tns:powiadom>
'

SET @NRZAM = (
    SELECT TOP 1
        x.Rec.query('komentarz').value('.','nvarchar(2000)') AS 'komentarz'
    FROM
    @XML.nodes('declare namespace
        s="http://cyfrowypolsat.pl/interfejsy/zgody/v4/zgodyKlienckie";
        s:powiadom/odpowiedz/stanZgodyStatus') AS x(Rec)
)

SELECT @XML
SELECT @NRZAM

My @NRZAM still is null but it would be 'Nieprawidłowy parametr - IdTabeliRekorduZrodlowego'. Wham am I doing wrong?

1 Answer 1

2

You're using the wrong namespace. Use the namespace for :tns like so:

SELECT x.Rec.query('komentarz').value('.','nvarchar(2000)') AS 'komentarz'
FROM @XML.nodes('declare namespace 
    s="http://cyfrowypolsat.pl/uslugi/powiadomienia/v2/PowiadomieniaZwrotne";
    s:powiadom/odpowiedz/stanZgodyStatus'
) AS x(Rec) 
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.