|
|
|
Получение значение конкретных узлов в XML
|
|||
|---|---|---|---|
|
#18+
Добрый день! Для примета имеем такой 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]. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2016, 13:53:31 |
|
||
|
Получение значение конкретных узлов в XML
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2016, 14:47:29 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39283973&tid=1887756]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
186ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 515ms |

| 0 / 0 |
