Member 12670240 Ответов: 0

Не удалось получить значение из XML


SET @ResponseReceivedData = '<req:input service="IBSServiceCoordinator" targetnamespace="http://service.app.ibs.fic.com" operation="getExecutedDedupeResults" xmlns:req="http://request.deduperesults.xsd.ibs.com">
    <context bankcode="999">
        <con:supervisorcontext userid="" primarypassword="" xmlns:con="http://context.xsd.ibs.com">
        </con:supervisorcontext>
    </context>
    <custdeduperesultsreqdto apprefno="81980000015582" codserialno="1" namereferencecat=" OmniRefCatID=">
    </custdeduperesultsreqdto>
</req:input>'

Можно ли прочитать этот xml-файл с sql server ? Если да, то как ?

Что я уже пробовал:

;with xmlnamespaces(DEFAULT 'http://service.abc.com' )
		SELECT List.y.value('(@CodSerialNo)[1]','VarChar(25)') as CodSerial
		FROM @ResponseReceivedData.nodes('(/input/CustResultsReqDTO)') AS List(y)

Suvendu Shekhar Giri

тогда что же он вернул в результате?

Member 12670240

Пустой

Member 12670240

она должна возвращать 1

Richard Deeming

Я попытался исправить ваш XML - код-вам нужно завернуть его в <pre>...</pre> теги и кодируют "специальные" символы. (<&lt;; >&gt;)

Однако кое-что было утрачено. Ваш XML-фрагмент недействителен.

Пожалуйста, обновите свой вопрос с помощью правильного XML.

Vignesh Mani

Не могли бы вы поделиться полным кодом?

Member 12670240

SET @ResponseReceivedData = '< req:input service= " IBSServiceCoordinator"
= ""targetnamespace="http://service.app.ibs.fic.com" operation= "getExecutedDedupeResults" xmlns:req="http://request.deduperesults.xsd.ibs.com" >
& lt;context bankcode= "999">
&ЛТ;условие:supervisorcontext идентификатор пользователя="" primarypassword="" атрибутов xmlns:кон="http://context.xsd.ibs.com"&ГТ;

<custdeduperesultsreqdto apprefno= "81980000015582" codserialno=" 1 "namereferencecat=" OmniRefCatID=">
'

Member 12670240

SET @ResponseReceivedData = '< req:input service= " IBSServiceCoordinator"
= ""targetnamespace="http://service.app.ibs.fic.com" operation= "getExecutedDedupeResults" xmlns:req="http://request.deduperesults.xsd.ibs.com" >
& lt;context bankcode= "999">
&ЛТ;условие:supervisorcontext идентификатор пользователя="" primarypassword="" атрибутов xmlns:кон="http://context.xsd.ibs.com"&ГТ;

<custdeduperesultsreqdto apprefno= "81980000015582" codserialno=" 1 "namereferencecat=" OmniRefCatID=">
'

Richard Deeming

Вы опять забыли закодировать специальные символы.

Пространство имен в вашем XML-файле http://request.deduperesults.xsd.ibs.com, но ваш запрос использует пространство имен http://service.abc.com.

Ваш XML-файл имеет элемент с именем custdeduperesultsreqdto, но вы запрашиваете элемент под названием CustResultsReqDTO.

Я думаю, что вы разместили неправильный фрагмент XML.

0 Ответов