powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите вытащить данные из простого XML
4 сообщений из 4, страница 1 из 1
помогите вытащить данные из простого XML
    #39745203
комит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Что-то замучался уже.


Есть xml, из которого не получается вытащить данные.


Вот сам документ:

Код: sql
1.
2.
<?xml version="1.0" encoding="UTF-8"?>
<property key="provider" value="beeline"/>




Вот так пытаюсь вытащить:


Код: sql
1.
2.
3.
SELECT xpath('//property/key/@value', '<?xml version="1.0" encoding="UTF-8"?>
<property key="provider" value="beeline"/>
'::xml)





Ошибки нет, но и данных самих тоже не возвращает. ({})


Подскажите пожалуйста как вытащить строчку beeline из этого xml?
...
Рейтинг: 0 / 0
помогите вытащить данные из простого XML
    #39745217
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
комит,

у вас нет тега key в документе.
xpath('//@value' или xpath('//property/@value' дают результат.
...
Рейтинг: 0 / 0
помогите вытащить данные из простого XML
    #39745250
комит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkijкомит,

у вас нет тега key в документе.
xpath('//@value' или xpath('//property/@value' дают результат.


Так все работает, спасибо!
Наконец-то сдвинулось с места!


Получилось считать значение.


С одной строкой работает идеально.


Но когда делаю еще один уровень (добавляю Config) и меняю '//property/@value' на '//Config/property/@value' перестает работать:


Код: sql
1.
2.
3.
4.
5.
SELECT xpath('//Config/property/@value', '<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns="http://beeline.ru/settings">
<property key="provider" value="beeline"/>
</Config>
'::xml)










И в xml строчка не одна, и у них разные значения key.


Выглядит примерно так:

Код: sql
1.
2.
3.
4.
5.
6.
SELECT xpath('//property/@value', '<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns="http://beeline.ru/settings">
<property key="provider" value="beeline"/>
<property key="tel" value="89030001131"/>
</Config>
'::xml)








Подскажите пожалуйста, как вытащить beeline из такого xml, посложнее?
...
Рейтинг: 0 / 0
помогите вытащить данные из простого XML
    #39745665
vsl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vsl
Гость
комит,

Вам нужно с xml разбираться, а не с postgresql.
Код: sql
1.
2.
3.
4.
5.
6.
SELECT xpath('//s:property[@key="provider"]/@value', '<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns="http://beeline.ru/settings">
<property key="provider" value="beeline"/>
<property key="tel" value="89030001131"/>
</Config>
'::xml, ARRAY[ARRAY['s', 'http://beeline.ru/settings']])
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите вытащить данные из простого XML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]