powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получение значение конкретных узлов в XML
3 сообщений из 3, страница 1 из 1
Получение значение конкретных узлов в XML
    #39283905
fetisof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Для примета имеем такой XML:

<?xml version="1.0"?>
<ORDINE>
<TESTA>
</TESTA>
<PARETI>
</PARETI>
<BOX0>
<GEST>
<DISTPREZZI>ТЕСТ1</DISTPREZZI>
</GEST>
</BOX0>
<BOX1>
<GEST>
<DISTPREZZI>ТЕСТ2</DISTPREZZI>
</GEST>
</BOX1>
<BOX2>
<GEST>
<DISTPREZZI>ТЕСТ3</DISTPREZZI>
</GEST>
</BOX2>
<BOX3>
<GEST>
<DISTPREZZI>ТЕСТ4</DISTPREZZI>
</GEST>
</BOX3>
<BOX4>
<GEST>
<DISTPREZZI>ТЕСТ5</DISTPREZZI>
</GEST>
</BOX4>
</ORDINE>


Подскажите пожалуйста как получить значения DISTPREZZI всех узлов BOX[n], не заходя в др.узлы?
В см. только из узлов BOX[n]. n - от 0 и далее.

Я додумался только до этого:

SELECT EXTRACTVALUE(VALUE(B),'DISTPREZZI') DISTPREZZI
FROM (SELECT
'<?xml version="1.0"?>
<ORDINE>
<TESTA>
</TESTA>
<PARETI>
</PARETI>
<BOX0>
<GEST>
<DISTPREZZI>ТЕСТ1</DISTPREZZI>
</GEST>
</BOX0>
<BOX1>
<GEST>
<DISTPREZZI>ТЕСТ2</DISTPREZZI>
</GEST>
</BOX1>
<BOX2>
<GEST>
<DISTPREZZI>ТЕСТ3</DISTPREZZI>
</GEST>
</BOX2>
<BOX3>
<GEST>
<DISTPREZZI>ТЕСТ4</DISTPREZZI>
</GEST>
</BOX3>
<BOX4>
<GEST>
<DISTPREZZI>ТЕСТ5</DISTPREZZI>
</GEST>
</BOX4>
</ORDINE>' X
FROM dual) T,
TABLE(XMLSEQUENCE(EXTRACT(XMLTYPE(T.X), 'ORDINE/*/GEST/DISTPREZZI'))) B


Но мне это не нравится птмч в узлах, кроме BOX[n], тоже могут тоже появится GEST/DISTPREZZI.

Хотелось бы для уверенности, что бы не хватануть лишнего, перебирать только узлы BOX[n].

Спасибо.
...
Рейтинг: 0 / 0
Получение значение конкретных узлов в XML
    #39283973
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Получение значение конкретных узлов в XML
    #39283983
fetisof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-, что, так все просто?

ну например так:

TABLE(XMLSEQUENCE(EXTRACT(XMLTYPE(T.X), 'ORDINE/*[starts-with(name(), "BOX")]/GEST/DISTPREZZI'))) B
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получение значение конкретных узлов в XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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