|
|
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
Каким образом ты получаешь свой XML? Загружаешь из файла, получаешь в рез-те http-запроса или как-то еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 12:35 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
Азагаш, XMLTYPE constructor constructor function XMLType( xmlData IN clob, ... REPLACE Both search_string and replacement_string, as well as char, can be any of the data types CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 12:36 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
AmKad, оказалось, что попадает он ко мне через varchar2(32000) из utl_http.read_text, спасибо env, каюсь, написал не попробовав, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 13:07 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
Азагашоказалось, что попадает он ко мне через varchar2(32000) из utl_http.read_textRead_raw-то небось понадежнее будет. Кодировку потом параметризировать можно. Ну так что, проблема решилась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 13:13 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
AmKadRead_raw-то небось понадежнее будет. Кодировку потом параметризировать можно. Ну так что, проблема решилась? пока не особо. если разквочивать влоб - получаю "ORA-19011: Недостаточный размер буфера символьных строк" сам конверт режу при получении, т.к. он постоянной длины. не то чтобы шибко универсально, но мне этого и не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 13:21 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
Азагашпока не особо. если разквочивать влоб - получаю "ORA-19011: Недостаточный размер буфера символьных строк"Так ты до работы с XML еще и не добрался. Читай в доке по utl_http примеры получения данных. И юзай read_raw для последующей записи в blob, а не read_text + clob. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 13:28 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
AmKad, а что потом делать с блобом? реплейсом расквочивать и потом все это скармливать XMLType? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 13:49 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
В виде того селекта все работает отлично. Но если прописать через Declare или в процедуру разбивается об ошибку Код: plsql 1. 2. 3. 4. Оракл 10 версии, JVM не установлен. Можно ли как-то обойти, или нужно ставить? Вот пример Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 13:52 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
АзагашAmKad, а что потом делать с блобом? реплейсом расквочивать и потом все это скармливать XMLType?Сначала изучить содержимое блоба. Что там вообще приходит в ответе. И потом уже принимать решение о том, что делать дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 14:30 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
AmKad, внутри soap-конверта Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. лежит xml Код: xml 1. 2. 3. 4. 5. 6. у которого все "<" изменены на "& lt ;", все ">" - на "& gt ;", и все " " " - на "& quot ;" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 14:49 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 14:54 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
jukka413, Ответ точно корректный получается в анонимном блоке? И попробуй в запросе прибить гвоздями /*+ NO_XML_QUERY_REWRITE */ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 15:00 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
env, Ответ точно нормальный. Даже если опустить функцию и просто вбить туда ответ - ситуация та же. /*+ NO_XML_QUERY_REWRITE */ ситуацию не изменил 8( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 15:14 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
Ты ответ к xmltype-типу привести пробовал? Читай сигнатуру конструктора xmltype с blob-ом. Потом возьми от него xmltable. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 15:25 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
jukka413, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 16:12 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
env, А вот так отлично работает) Спасибо)) А почему так происходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 07:07 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
jukka413, Из-за этого Код: plsql 1. 2. Дальше думай сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 08:45 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
Мммммм, у меня снова проблема После парсинга функция вставляет в таблицу только одну запись, хотя по идее их должно быть несколько. Есть делать парсинг просто селектом, выводит несколько значений, все нормально. Не могу разобраться Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. Сам XML Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Тэгов <ns2:PaymentDocument> может быть произвольное количество ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 14:50 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
jukka413, Зачем тебе commit на каждую строчку? И в целом, зачем тут цикл? insert .. select .. напрашивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 15:21 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
env, Это про коммит из цикла? Если его вынести за цикл вообще ж ничего не вставляет При попытке сделать insert ... select пишет ошибку ora-00947 not enough values. Хотя валуев-то вроде достаточно. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2017, 07:33 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
jukka413, Эм... Как бы так вежливо-то сказать, что такого говнокода на ровном месте давно не видал, разве что у некоего RДошкольника.... Код: plsql 1. 2. 3. Сам понял, что написал? Сколько полей в values составляет твоё (select ... Я говорю про Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. И возьми себе за правило давать переменным префиксы, позволяющие однозначно отделять их от потенциальных совпадающих полей таблиц в запросах. И алиасы, помни про алиасы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2017, 09:16 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
env, Спасибо, так все норм компилируется. Алиасы обычно не используя, да, вероятно, стоит. Но вот только с таким вариантом кода в таблицу вообще ничего не вставляется 8( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2017, 09:35 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
jukka413, Значит, внутри процедуры не тот же xml, на котором отлаживаешь запрос. Добавь промежуточную отладку, посмотри, что у тебя на самом деле в otvet_s и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2017, 09:40 |
|
||
|
Парсинг XML, проблема
|
|||
|---|---|---|---|
|
#18+
env, otvet_s тоже пишется в промежуточную таблицу, он не менялся. Если вернуться на вариант с циклом - так же одна запись вставляется в таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2017, 10:02 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39500061&tid=1885488]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 545ms |

| 0 / 0 |
