Я вызываю веб-сервис (URL-адрес ниже) и получаю результаты XML обратно в SQL Server в виде varchar (8000), а затем преобразовываю его в XML. Это работает отлично. Я хочу разобрать эту XML-информацию на отдельные значения, но продолжать получать нулевые значения. Это моя первая попытка использовать XML на моем сервере SQL 2008, поэтому я знаю, что мне не хватает очень тривиального элемента.
Я принимаю полученный ответ и сохраняю его в @XML.
SET @XML = CAST(@Response AS XML)
Затем я пытаюсь получить почтовый индекс, чтобы получить свои результаты и получить NULL или неправильный узел.
Возвращает НУЛЬ
SELECT @XML.value('(/GeocodingResult/Results/Address/PostalCode) [1]', 'varchar(50)')
Возвращает «Авторские права © 2010 Microsoft и ее поставщики. Все» (без кавычек)
SELECT @XML.value('(/) [1]', 'varchar(50)')