Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите вытащить данные из простого XML / 4 сообщений из 4, страница 1 из 1
10.12.2018, 11:48
    #39745203
комит
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите вытащить данные из простого XML
Добрый день.

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


Есть 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
10.12.2018, 12:01
    #39745217
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите вытащить данные из простого XML
комит,

у вас нет тега key в документе.
xpath('//@value' или xpath('//property/@value' дают результат.
...
Рейтинг: 0 / 0
10.12.2018, 12:36
    #39745250
комит
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите вытащить данные из простого XML
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
10.12.2018, 23:06
    #39745665
vsl
vsl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите вытащить данные из простого XML
комит,

Вам нужно с 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
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите вытащить данные из простого XML / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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