Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как парсить XML? / 5 сообщений из 5, страница 1 из 1
18.10.2017, 11:18
    #39537917
Личинка DBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить XML?
Добрый день.

Следуюя принципам unix-way в продолжение темы
http://www.sql.ru/forum/1273854/zagruzit-xml-faly-v-tablicu-bd
решил создать отдельную, чтобы не сваливать все в одну кучу.

Вот входные данные:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE test_xml_read_table(xml text);

INSERT INTO test_xml_read_table (xml)
VALUES (
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<maininfo count="3">
    <info price="1472.0">
    </info>
    <info price="861.0">
    </info>
    <info price="933.0">
    </info>
</maininfo>'
);




Пытаюсь сделать выборку, чтобы вывести колонку price, чтобы было 3 строки.
Код: sql
1.
2.
3.
1472.0
861.0
933.0



А выводит так:

Код: sql
1.
{1472.0,861.0,933.0}




Запрос вот такой использую:
Код: sql
1.
2.
3.
SELECT 
xpath('//maininfo/info/@price', xml::xml) price
FROM test_xml_read_table




Подскажите пожалуйста, как запросом вывести данные чтобы именно по строчкам было, а не все в одной строке?
...
Рейтинг: 0 / 0
18.10.2017, 11:38
    #39537934
Личинка DBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить XML?
Пока не нашел как это делать
...
Рейтинг: 0 / 0
18.10.2017, 11:56
    #39537948
Личинка DBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить XML?
PostgreSQL 9.4
...
Рейтинг: 0 / 0
18.10.2017, 11:57
    #39537949
smagen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить XML?
Личинка DBA,
Код: sql
1.
2.
3.
SELECT
unnest(xpath('//maininfo/info/@price', xml::xml)) price
FROM test_xml_read_table;
...
Рейтинг: 0 / 0
18.10.2017, 12:01
    #39537952
Личинка DBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить XML?
smagenЛичинка DBA,
Код: sql
1.
2.
3.
SELECT
unnest(xpath('//maininfo/info/@price', xml::xml)) price
FROM test_xml_read_table;




О СУПЕР!!!

Я уже горы мануалов перепрочитал, но ничего путнего не нашел.

Кстати, обнаружил что в 9.4 нет функции xpath_table...


Большое спасибо!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как парсить XML? / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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