Не удалось получить значение из 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>
теги и кодируют "специальные" символы. (<
⇒ <
; >
⇒ >
)
Однако кое-что было утрачено. Ваш 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.