@vegarulez

Как извлечь ноду из xml в процедуре в mysql?

Всем привет! Подскажите, создал процедуру в phpmyadmin и пытаюсь получив xml из таблички получить из этого xml ноду.
В процедуре в out выводится переменная xml
код процедуры:

BEGIN  
    DECLARE str,tmp longtext;  
    SELECT `xml_book` into str from `shelf` where `id_shelf` =9;
    SET tmp= ExtractValue(str, '//response');
    SET xml = tmp;    
END


и собственно сам xml из xml_book:

<?xml version="1.0" encoding="windows-1251"?>
<response>
<cat id="6" cpos="8" d="Букварь"/>
<cat id="10" cpos="7" d="Вторая"/>
<cat id="11" cpos="6" d="И синяя"/>
</response>


Соотвественно если в процедуре в out вывожу str - то там мой xml, но мне надо ноду, если соотвественно вывожу tmp - то там пустота. Подскажите где собака порылась? Что не так делаю? И куда копать?
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
qonand
@qonand
Software Engineer
если я не ошибаюсь ExtractValue возвращает только значение ноды, дочерние ноды она не возвращает.
т.е. при попытке извлечь значение из ноды response - mysql его не находит, находит только дочерние элементы, которые вернуть не может
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы