|
|
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите разобраться в разборке XML в Oracle 9i. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Есть массив: v_array_surnames Как можно вытащить все значения аттбирута с name="SURNAME" сразу в массив? XML у меня типа Xmltype; Заранее благодарен! Flukky ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2005, 15:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2005, 15:41 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Действительно, работает очень красиво. Подскажите, пожалуйста, где найти инфрмацию про XMLSequence и Extract (а также другими функциями по обработке XMLType). Oracle9i XML API Reference - XDK and Oracle XML DB Release 2 (9.2) Part VI XML Database Support: Oracle XML DB for PL/SQL Тут я что-то не могу найти :/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2005, 16:32 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Поищи рядом, в XML Database Developer's Guide - Oracle XML DB , или просто поиском: http://www.oracle.com/pls/db92/db92.drilldown?remark=&word=XMLSequence+and+extract ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2005, 16:55 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Мне очень интересно, почему не работает такой запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Запрос остаёться тем же, но в теге <RESPONSE> появились дополнительная информация Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2005, 17:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis PopovПоищи рядом, в XML Database Developer's Guide - Oracle XML DB , или просто поиском: http://www.oracle.com/pls/db92/db92.drilldown?remark=&word=XMLSequence+and+extract Спасибо, попробуем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2005, 17:24 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
В документации по 9-ке сразу не нашел, а в документации по Oracle10g есть: http://www.oracle.com/pls/db102/drilldown?remark=quick_search&word=XMLSequence+and+xmlns Впрочем, работает и в 9i: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Обрати внимание на выделенную строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2005, 18:11 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
А можно, например, какой-то функцией удалить всю дополнительную информацию из тега RESPONSE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2005, 18:36 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
А конкретно, эту ерудну: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2005, 18:37 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
В качестве одной мысли: если исходный XML окаймить еще одним элементом, т.е. вложить в некий другой XML, то extract(), с учетом исправленного пути, работает и без namespace. Осталось только понять, можно ли это сделать максимально легко. В Oracle10 есть метод XMLType.insertXMLBefore(), но в Oracle 9.2 его еще нет. Хотя, думаю, должны быть и другие варианты, может есть способ получить все namespace'ы из документа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2005, 20:01 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popovможет есть способ получить все namespace'ы из документа? например, через xmlparser и xmldom: http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96621/adx20ppl.htm#1006936 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2005, 20:20 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov Denis Popovможет есть способ получить все namespace'ы из документа? например, через xmlparser и xmldom: http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96621/adx20ppl.htm#1006936 Что-то похожее я делал в 8 оракле. Это сначала нужно сложить всё в массив, потом в цикле IFами уже вытаскивать по нужным переменным. Это дело может быть долгим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 09:34 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
И ещё вопрос по этой же теме. Возвращается XML в формате <?xml version="1.0" encoding="utf-8" ?>. Как сменить кодировку на windows-1257? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 09:45 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Родился ещё один вопрос. Допустим, у нас есть тот же XML, но уже с двумя "пакетами" внутри: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Тоесть есть 2 персоны и только у одной есть пасспорт. Пакеты 001 и 002 связаны по PERS_ID. Делаю запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В результате получаем только ту персону, у которой есть пасспорт: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. Оператор (+) не работает :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 12:12 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Flukky wrote: > Что-то похожее я делал в 8 оракле. Это сначала нужно сложить всё в > массив, потом в цикле IFами уже вытаскивать по нужным переменным. Это > дело может быть долгим. Я думал про следующее: через xmldom.getNamespace() получить только этот самый namespace и потом уже его использовать в extract(). Хотя это получается двойной разбор одного и того же XML. Для уменьшения накладных расходов Тут можно попробовать еще один вариант: через аналогичный пример, используя xslprocessor, получить новый XML (раз исходный уже разобран), содержащий минимум требуемых данных, и потом его уже скормить XMLType. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 13:54 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
FlukkyРодился ещё один вопрос. Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 14:09 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Денис, спасибо огромнейшее! Пока буду пробывать предложенные варианты, задам ещё один вопрос. Вопрос 1. Часть 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. Запрос с extractValue() ругается на то, что возвращено более одной строки и я его понимаю :) Вопрос 1. Часть 2. Можно ли значения <ERROR> сложить сразу же в виде: "сообщение1; сообщение2; сообщение3" с помощью XML-парсера? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 16:00 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
1. Используй text() для вывода значения элемента Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Второе можно делать разными путями, например: XMLSequence возвращает тип table of XMLType, к нему е можно привести: Код: plaintext 1. 2. 3. 4. Через XSL: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 16:44 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov1. Используй text() для вывода значения элемента Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Да, но в этом случае результат будет: Код: plaintext 1. А мне бы хотелось его красиво оформить перед этим. Error1; Error2; ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 11:29 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Только как я могу узнать, сколько элементов <ERROR> у меня в документе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 11:31 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Flukky wrote: > А мне бы хотелось его красиво оформить перед этим. Error1; Error2; ... Тогда действуй как я уже говорил: либо через XSL, либо получай несколько записей и обрабатывай их собственной процедурой. Но text() все равно придется использовать для получения значения элемента. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 12:38 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov либо получай несколько записей и обрабатывай их собственной процедурой. Но text() все равно придется использовать для получения значения элемента. Я сделал без text() и без собственной процедуры: 1. Вытащил записи в формате <ERROR>...</ERROR> 2. Спомощью функции Replace заменил эти теги Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Работать работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 13:55 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov Denis Popovможет есть способ получить все namespace'ы из документа? например, через xmlparser и xmldom: http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96621/adx20ppl.htm#1006936 А как тогда преобразовать мой XMLType в dbms_xmldom.DOMDocument и обратно? Функция будет выглядеть примерно так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 15:31 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Flukky wrote: > А как тогда преобразовать мой XMLType в dbms_xmldom.DOMDocument и обратно? Не знаю, может и никак. Через dbms_xmldom я думал только получить namespace, а потом использовать в XMLType.extract(), потому и говорил о двойном разборе. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 15:42 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov Через dbms_xmldom я думал только получить namespace, а потом использовать в XMLType.extract(), потому и говорил о двойном разборе. Posted via ActualForum NNTP Server 1.3 Функции из пакета xdb.dbms_xmldom: Код: plaintext 1. 2. 3. 4. 5. 6. Какую из них использовать (DOMnode, DOMAttr, DOMElement), если на входе у меня параметр типа XMLType? Либо я совсем не в ту степь смотрю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 16:20 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 16:41 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis PopovВ качестве одной мысли: если исходный XML окаймить еще одним элементом, т.е. вложить в некий другой XML, то extract(), с учетом исправленного пути, работает и без namespace. Я сделал так: Код: plaintext 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. В результате запроса my_XML.existsNode('RFP/RESPONSE') получаем '0'. Не получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 16:46 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, я имел в виду xmldom, использованный в примере А в заблуждение попал из-за версий Oracle: в Oracle 10.2 синоним XMLDOM указывает на пакет sys.DBMS_XMLDOM, а в Oracle 9.2 на sys.XMLDOM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 16:48 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis PopovИзвиняюсь, я имел в виду xmldom, использованный в примере А в заблуждение попал из-за версий Oracle: в Oracle 10.2 синоним XMLDOM указывает на пакет sys.DBMS_XMLDOM, а в Oracle 9.2 на sys.XMLDOM. В 9-ом Оракле это XDB.DBMS_XMLDOM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 16:54 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
В дополнение к этому XSL , заметил, что если в XSL указать в имени шаблона не "/", а имя элемента с указанным namespace, то оно работает: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 18:27 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Ну и напоследок: баловство все это:) Подсказали мне, как получается namespace в XMLType (через тот же XSL): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2005, 18:40 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis PopovНу и напоследок: баловство все это:) Подсказали мне, как получается namespace в XMLType Красивый вариант. Тоесть я снчала извлекаю этот namespace, а потом уже его использую в операторе extract(), как второй параметр. Вроди хорошая реализация (до тех пор, пока в FROM используется extract()). Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 12:01 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Flukky Код: plaintext 1. Только как я могу узнать, сколько элементов <ERROR> у меня в документе? Этот вопрос ещё актуален. Как узнать количество элементов в документе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 12:02 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
FlukkyИ ещё вопрос по этой же теме. Возвращается XML в формате <?xml version="1.0" encoding="utf-8" ?>. Как сменить кодировку на windows-1257? Этот вопрос тоже всё ещё актуален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 12:12 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Ну, с разборкой XML документов более или менее разобрался. Не исключено, что начав разрабатывать реально приложение (сейчас только тесты), ещё появяться. Теперь есть вопрос про составление XML документа . Какие функции обычно используют для составления XML документа? xmltype(varchar2) и xmltype.createxml(varchar2) я уже знаю (хотя не пойму, чем одна от другой отличаются). Также знаком с функциями из пакета DBMS_XMLDOM и DBMS_XMLPARSER. Но эти функции создают XMLDOMDOCUMENT , а мне хотелось бы узнать, какие функции работают с типом XMLTYPE . Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 12:16 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Если посмотреть Oracle9i Database Online Documentation раздел SQL, PL/SQL, and SQL*Plus syntax and examples. на букву X , то там есть всё, что надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 12:37 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
FlukkyЭтот вопрос ещё актуален. Как узнать количество элементов в документе? Думаю, через тот же XMLSequence. FlukkyИ ещё вопрос по этой же теме. Возвращается XML в формате <?xml version="1.0" encoding="utf-8" ?>. Как сменить кодировку на windows-1257? В Оракле есть функция CONVERT для перекодировки строк. На крайняк можно через Java перекодировать весь XML, даже подправив атрибут encoding. FlukkyТакже знаком с функциями из пакета DBMS_XMLDOM и DBMS_XMLPARSER. Но эти функции создают XMLDOMDOCUMENT, а мне хотелось бы узнать, какие функции работают с типом XMLTYPE. Могу врать, но вроде как это независимые вещи. XMLDOM реализован с использованием Java (я получал явские исключения при его использовании) XMLType и иже с ними (м.б. с какой-то версии Оракла) Java не используют и рекомендованы к использованию как главное направление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 13:17 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Я конечно извиняюсь за своё недопонимание, но я не могу найти в доке того, что мне нужно. Там куча информации... Я попросту не знаю, что искать, наверное... В DBMS_XMLDOM были такие процедуры: dbms_xmldom.makeNode dbms_xmldom.createElement dbms_xmldom.appendChild dbms_xmldom.createTextNode А для XMLType я ничего такого не вижу. Ну тоесть, нужно создать структуру дерева, например: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Можно, конечно, создать это дело спомощью DBMS_XMLDOM, потом превратить в CLOB/Varchar2, а потом в XMLType. Но я недаюсь, что есть методы по-проще. Спасибо! И извините за глупые вопросы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 15:26 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 16:12 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Спасибо! Очень удобный подход к построению документа в 9-ке! Сейчас пробую разобраться с updateXML(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 19:00 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
А что будет быстрее работать, если мне нужно составить такой запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Имена и значения параметров PARAM лежат в массиве. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 19:09 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Легко проверить, думаю, самое быстрый вариант будет заключаться в минимальном использовании объектов. Решил потренироваться: Код: plaintext 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. 50. 51. 52. 53. 54. 55. Код: plaintext 1. 2. 3. 4. 5. 6. Единственное, что первые два способа упираются в максимальный размер VARCHAR'а, т.е. 32767 для PL/SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 20:47 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis PopovЛегко проверить, думаю, самое быстрый вариант будет заключаться в минимальном использовании объектов. Спасибо! Без комментариев ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 12:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Flukky Denis PopovЛегко проверить, думаю, самое быстрый вариант будет заключаться в минимальном использовании объектов. Спасибо! Без комментариев Вообще с XML завязывать надо, ни к чему это хорошему не приведет :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 12:28 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov FlukkyИ ещё вопрос по этой же теме. Возвращается XML в формате <?xml version="1.0" encoding="utf-8" ?>. Как сменить кодировку на windows-1257? В Оракле есть функция CONVERT для перекодировки строк. Я тут с кодировками запутался. База в кодировке LATVIAN_LATVIA.BLT8CP921 Создать XML документ с encoding="BLT8CP921" не получается, т.к. пишет "System does not support the specified encoding". Создаём XML с encoding="windows-1257". Всё работает. Но теперь я не знаю, что писать в Convert. Кодировка другой базы, куда нужно послать XML документ - UTF-8. Код: plaintext 1. Код: plaintext 1. LPX-00216: invalid character 128 (0x80) Это если есть национальные симболы (отличные от латиницы). Если их нету, парсуется нормально. Где-то в Интеренете есть список всех доступных кодировок для Convert? Наверное, для windows-1257 этот самый 'BLT8CP921' не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 13:07 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
и самое интересное... после того, как я делаю updateXML(), encoding="windows-1257" автоматически изменяется на encoding="UTF-8". Так должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 13:22 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Кстати, в третем случае я накосячил, там идет постоянное обновление одного и того же экземпляра элемента "PARAM", а не добавление нового. Можно переписать следующим образом: Код: plaintext 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. 50. 51. 52. 53. 54. 55. 56. 57. Код: plaintext 1. 2. 3. 4. 5. 6. ИМХО: updateXML хорош для изменения существующего XML, но не для формирования нового. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 13:34 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
FlukkyГде-то в Интеренете есть список всех доступных кодировок для Convert? Код: plaintext Flukkyи самое интересное... после того, как я делаю updateXML(), encoding="windows-1257" автоматически изменяется на encoding="UTF-8". Так должно быть? Тут какая-то особенность приведения XMLType к строке Например, с использованием XMLType.getStringVal() Код: plaintext 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. О как. причем возможности указания кодировки вроде как нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 13:57 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov Тут какая-то особенность приведения XMLType к строке Например, с использованием XMLType.getStringVal() Видимо потому, что getStringVal() работает с CLOB, а кодировка CLOB в базе данных указывается не в 'NLS_CHARACTERSET', а в 'NLS_NCHAR_CHARACTERSET'. Могу ошибаться. Что у Вас говорит такой запрос? Код: plaintext 1. 2. У меня: NLS_CHARACTERSET = BLT8CP921 NLS_NCHAR_CHARACTERSET = UTF8 По-видимому, отсюда UTF8 и выплывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 15:00 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Нет, Clob работает с первым параметром, а не с NCHAR... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 15:12 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
У меня везде юникод, я упоминал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Заметь: был Cp1251, стал WINDOWS-1251. Причем чтобы я ни пробовал вместо Cp1251: windows-1257, koi8-r, у меня вечно идет WINDOWS-1251. После чего изменил NLS_LANG на RU8PC866, переконнектился: и теперь всегда стал возвращаться CP866. То есть, на мой взгляд, получается следующее: updateXML строит новый документ с кодировкой клиента и наполняет его данными. В случае отсутствия клиента (как, например, работа через Java Thin-драйвер) берется кодировка БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 15:30 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Приветствую. У меня вопрос, очень бы хотелось бы получить ответ. Я с Ораклом работаю недавно (больше программер). Собственно проблема. Мне нужно распарсить XMLType с документами XML и как результат разложить в таблицы. Я пользую парсер который выкладывался сдесь на борде. Код: plaintext 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. Получаю результат. Проблема в том, что я НЕМОГУ НАЙТИ решение КАК мне разложить результаты в реляционные таблицы. Я не знаю заранее какому тэгу соответствует какое поле и его тип. Я сделал XMLSchema документ с нотацией Oracle (насколько я смог разобраться с ней) в надежде что это поможет решить данную проблему. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Данная схема IMHO смогла бы мне помочь, но опять же как ее увязать с парсером и раскладкой в таблицы, к сожалению я не знаю. Был бы БЕЗМЕРНО ПРИЗНАТЕЛЕН за помощь с решением данной проблемы. Я просто в одиночку разруливаю эту задачу.. По системе Oracle 10.1.0 icq:168815113 Сорри если ламерские вопросы.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 16:08 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
h00fПолучаю результат. Проблема в том, что я НЕМОГУ НАЙТИ решение КАК мне разложить результаты в реляционные таблицы. Я не знаю заранее какому тэгу соответствует какое поле и его тип. Я сделал XMLSchema документ с нотацией Oracle (насколько я смог разобраться с ней) в надежде что это поможет решить данную проблему. А чем же в конечном счете определяется, что куда должно попасть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 18:18 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Я посчитал, что использование XMLSchema + нотации Oracle позволят сделать некий универсальный механизм по загрузке. Я просто не понимаю, как еще можно прописать куда должно записываться содержимое тэга, как реализовать хранение контейнера, при условии что типов сообщений порядка 36! Проблема в том, что часть проекта связанная с парсингом и накоплением дожна быть максимально универсальной т.к. (12 типов сообщений по почте, 24 типа по SOAP планируется + куча алгоритмов заимодействия и последующая реализация WSA). Я поднял XMLSchema для валидации XML сообщений, насколько смог разобрал нотации Oracle в этой части в надежде, что используя XMLSchema (XSDL) и XMLType с XML документами смогу нормально разложить в базу. Но столкнулся с тем что я НЕ ПОНИМАЮ КАК пользовать парсер с XMLSchema + XML. PL/SQL учу но опыта мало, Java не знаю, да Oracle Application Server не стоит ишо. Наверное звучит глупо и много всего, но блин нада делать а у мя бошка кругом от всего в особенности этого парсинга с загрузкой в таблицы.. Сотни вопросов.. Сорри понесло .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 19:11 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Я вот тоже думал, что есть нечто навороченное, наподобе пары пакетов DBMS_XMLGEN -> DBMS_XMLSAVE (в 10-ке добавили DBMS_XMLSTORE, реализованный чисто на C, что обещает быть быстрее DBMS_XMLSAVE c Java): http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14259/xdb_dbmstore.htm#sthref1413 It takes a canonical XML mapping similar to that produced by package DBMS_XMLGEN; converts it to object-relational constructs; and inserts, updates or deletes the value from relational tables. Т.е. есть некий "канонический" XML, который всегда можно запихать в таблицу не гадая о том, какие в XML и таблице поля, закладываясь на то, что они совпадают. Получается одна процедура на заливку всех таблиц из xml. Как следует выкручиваться, если XML не "каконический" - вопрос, который бы хотелось прояснить. Пока все варианты сводятся к тому, что для обработкий каждой таблицы пишется свой код, либо делается опять же свой разборщик приходящего XML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 19:36 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Есть интересный пример по мапингу XML.. одна проблема пример загрузки XML приведен на Java на Pl/sql нетути .. к сожалению. . Oracle Database 10g XML & SQL: Design, Build & Manage XML Applications in Java, C, C++ & PL/SQL Object Views If an XML document is not in the canonical format, you can create object views or XMLType views, to allow XSU to map XML documents to database tables. In the following contact.xml XML document, the contact information is stored as follows: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Oracle Database 10g XML & SQL: Design, Build & Manage XML Applications in Java, C, C++ & PL/SQL The database schema is defined as follows: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Oracle Database 10g XML & SQL: Design, Build & Manage XML Applications in Java, C, C++ & PL/SQL Using the canonical mapping, the XML document cannot directly map to the table columns as the document contains multiple levels; thus, to insert this XML document, you need to create the following object view: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Oracle Database 10g XML & SQL: Design, Build & Manage XML Applications in Java, C, C++ & PL/SQL Then, you can run a similar command to load the XML file into CUSTOMER_VIEW: Код: plaintext 1. 2. Я как довольно слабый в части pl/sql не могу понять можно ли с помощью данного решения решить проблему хранения XML сообщений смешанной структуры (вертикальная+горизонтальная) с хорошей степенью вложенности контейнеров.. И еще как посредством pl/sql сделать мапинг XML таки в эту конструкцию... Извиняюсь на назойливость.. Но проект горит и уже сзати попахивает паленным.. Сорри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 09:27 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Появился ещё один вопрос по разборке XML. Вопрос такой. Можно ли каким-то образом написать, приведённый ниже, запрос без использования union. Нужно учитывать, что в XML документе может отсутствовать как первая часть <PROCEDURE name="DATA_1"> так и вторая <PROCEDURE name="DATA_2">. В обычном запросе это бы решилось с помощью (+). Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 17:33 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Если может отсутствовать как первая, так и вторая части, то (+)-ом ИМХО не отделаешься, это уже напоминает FULL OUTER JOIN. Раз их может не быть - вставь их самостоятельно, чтобы были наверняка: Код: plaintext 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.12.2005, 18:05 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Спасибо, попробую! В случае с union почему-то вылетает ошибка ORA-22905: cannot access rows from a non-nested table item Есть идеи, почему? Смоделировать такую ситуацию для тестового примера пока не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 11:07 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. Такое вызывает ORA-22905 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 11:35 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Ошибка появляется независимо от количества параметров. Инетресно, что в SQL*Plus такой запрос работает, а внутри процедуры - нет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 11:44 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
В предыдущих примервх был RESPON C E, теперь стал RESPOR S E - так и должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 14:21 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
С этим всё в порядке, описка просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 14:43 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Ну по-скольку 9-ый Оракл что-то бастует и не хочет работать с XMLType и Union, ваш, Денис, вариант нахожу переспективным. Но как создать селект без union, если в запрос добавляется параметр order_by (числа 11 и 22 - могут быть любыми) Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 16:09 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Во-первых, поясни, чем не нравится вышеприведенный вариант? Во-вторых, почему UNION, а не UNION ALL, раз запросы наверняка разнятся? При использовании последнего ИМХО можно заложиться, что UNION ALL порядок записей не меняет. И, напоследок, что мешает использовать CASE в ORDER BY? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 16:20 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
По поводу union all согласен. Почему нельзя case в order by: В XML от процедуры DATA_1 есть строки с определёнными значениями параметров param_2: - тоесть если param_2 принадлежит какому-то множеству (в примере числу 11), такие строки выводить первыми. - другие строки выводить третими по счёту В XML от процедуры DATA_2 есть строки с определёнными значениями параметров param_2 (но эти значения НЕ ТАКИЕ как в первой процедуре): Выводим соответственно вторыми и четвёртыми по счёту. Чтобы в итоге получилось: данные_процедуры_1 данные_процедуры_2 данные_процедуры_1 данные_процедуры_2 Этот порядок очень важен. XML писал не я, не могу на него повлиять в данном случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 16:30 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Видимо нужна функция function get_ortder_by(source,param2) return number :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 16:33 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Сделал функцию, создал селект без union (похожий на тот, что привёл Денис) и никак проблем. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 16:55 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Сорри, но никак не могу понять как имя такой примерно select: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Получить Entity name рядом с каждым id Атрибута??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2006, 15:08 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Пишу вот так, а не работает, помогите плиз. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2006, 15:40 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
/topic/300566 Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2006, 15:40 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Спасибо. Помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2006, 16:51 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Наткнулся на статью об SQL/XML в Оракле. Описываются основные функции, новые возможности 10g, примеры, known issues, bugs, присутствуют ссылки на доку, короче XML in Oracle by Example. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 11:29 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. На одной СУБД Oracle этот запрос проходит, на другой нет: ORA-06502: PL/SQL: numeric or value error ORA-06512: at line 1 Oracle 9.2.0.1.0, если я правильно понял. Патч? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2006, 20:09 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Можно увидеть результат Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2006, 21:49 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
for93tМожно увидеть результат Код: plaintext Конечно: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2006, 21:50 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
В общем я тоже сижу репу чешу, ничего не понимаю. Ваш пример у меня вообще обрывает сессию, хотя синтаксис правильный. Я и сам сейчас сижу, пытаюсь решить подобную задачку, но как-то ничего не получается. Вот мои баннеры: Код: plaintext 1. 2. 3. 4. 5. 6. Будем ждать более опытных товарищей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2006, 22:01 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
И на моей работе такой как Вас Оракл стоит. Проблем никаких! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2006, 22:22 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Всмысли 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2006, 22:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Появился ещё вопрос. Есть XML, который использует несколько пространств имён. Код: plaintext 1. 2. 3. 4. 5. 6. Как его разбирать extract'ом? Указывая только имена элементов MyResp, Result, TestNode, SubResult, либо каждый элемент нужно писать вместе с пространством имён: n1:MyResp/n2:TestNode/n2:SubResult' ? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2007, 16:40 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 11:45 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
А откуда появился таг "<xmldoc xmlns:n1="http://testws/ns1" xmlns:n2="http://testws/ns2">"? Я вот так вот пробую: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 14:43 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Если попробывать запустить такой запрос пару раз, вылетает: Код: plaintext 1. Описание: Cause: This is an internal error message not usually issued. Action: Contact Oracle Support Services. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 14:52 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 15:03 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
FlukkyЕсли попробывать запустить такой запрос пару раз, вылетает: Код: plaintext 1. Описание: Cause: This is an internal error message not usually issued. Action: Contact Oracle Support Services. :( Ошибка появляется только в туле, с которым я работал. В Sql*Plus её нет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 15:03 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Flukky Я вот так вот пробую: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 15:31 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Спасибо! Возвращая результат как текст, он, наконец, появляется и у меня. А как вернуть значение элемента SubResult? Пробую так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Результата нет и с 'xmlns="http://testws/ns2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 15:52 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
у вас 2 разных пространства, имхо либо вложеным extract'ом, либо так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 16:06 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Большое спасибо! Идея понятна! А если задачу усложнить тем, что мы не знаем конкретного адреса namespace, однако известно, что они разные. Начал реализовывать: Код: plaintext 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. Как мне вытянуть внутренний namespace ns2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2007, 16:58 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. Что тут не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 13:36 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 14:02 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Этот пример, мне видится, более наглядным для демонстрации механизма пространства имен. Ты можешь сам алиасить URI пространства имен, как тебе заблагорасудится. И пофик алиасы, которые расставлены в тексте XML Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 14:26 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Обновили базу до 9.2.0.7.0 - заработал! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2007, 12:52 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Zloxa, спасибо про объяснения с алиасами - это как раз то, что надо. Разработчики веб-сервиса утверждают, что будут меняться только имена алиасов. Поэтому, пока могу ограничиться определением своих алиасов. Теперь вопрос. Есть такой XML: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Нужно найти все CarID. Попытка 1: Код: plaintext 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. Удаётся найти значения, но они все выстраиваются в одну строку. Попытка 2: Код: plaintext 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. Как обойти эту ошибку, чтобы вытащить нужные значения: 1 2 ? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 15:45 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Почему метод Extract, в отличии от фунции Extract не спускает в извлеченный фрагмент разименование алиасов - не знаю, может быть баг, может фича, но так - работает. Код: plaintext 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. PS. Хотел бы заодно акцентировать на том, что для меня, в свое время, оказавшись не очевидным, крайне больно стукнуло по голове: Extract возвращает XML-фрагмент. ExtractValue возвращает значение, со всеми вытекающими: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 17:13 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
В документации есть такая штука: имеем Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plaintext 1. 2. 3. А как аналогичным способом обновить данные? Например, установить <SALARY>100000</SALARY> для тех, где salary >= 5000 ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 13:12 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ALDВ документации есть такая штука: имеем Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plaintext 1. 2. 3. А как аналогичным способом обновить данные? Например, установить <SALARY>100000</SALARY> для тех, где salary >= 5000 ???? Аналогичным имхо никак. Но если Вам не страшны альтернативные пути, то вот так можно. Код: plaintext 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. Best regards Maxim ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 13:46 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Спасибо. а подскажите пож-та еще такую штуку: имеем Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Код: plaintext 1. хочется распарсить нормально, по-одному числу, но Код: plaintext 1. 2. 3. 4. 5. 6. <SALARY>50000</SALARY> <SALARY>60000</SALARY> а не 50000 60000 Когда применяю .../text() - ругается. Как получить значения внутри <SALARY>? (в будущем хочется таким образом выдирать ID и по ним получать еще некий блок xml-я. сразу все что надо в реальной задаче, в одном запросе выводить не получается) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 13:42 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
имею Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 08:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. Best regards Maxim ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 10:11 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Maxim Demenko[src oracle]SQL> with t as ( 2 select XMLType('<EMPLOYEES> 3 <EMP> 4 <EMPNO>112</EMPNO> 5 <EMPNAME>Joe</EMPNAME> 6 <SALARY>50000</SALARY> 7 </EMP> 8 <EMP> 9 <EMPNO>217</EMPNO> 10 <EMPNAME>Jane</EMPNAME> 11 <SAL> 12 <SALARY>60000</SALARY> 13 </SAL> 14 </EMP> 15 </EMPLOYEES>') x 16 from dual) 17 select z.x.extract('/') x, 18 deletexml(x,'//SALARY').extract('/') y 19 FROM t z 20 / ORA-00904: "DELETEXML": недопустимый идентификатор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 11:17 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ALDORA-00904: "DELETEXML": недопустимый идентификаторRTFM Oracle Database 10g Release 2 (10.2) New Features in Oracle XML DB (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 11:42 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Elic ALDORA-00904: "DELETEXML": недопустимый идентификаторRTFM Oracle Database 10g Release 2 (10.2) New Features in Oracle XML DB (FAQ) хорошо, а как в 9ке тогда сделать deleteXML? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 12:00 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ALD хорошо, а как в 9ке тогда сделать deleteXML? Попробуйте xslt, должно работать, нет 9ки под руками - не могу проверить. Код: plaintext 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. Maxim ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 12:55 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
как подняться на уровень выше?? назовем первичным xml это: Код: plaintext 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. Код: plaintext 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. т.е. в <xsl:template name="7_contract_card"> мне CN_Plastic_First и др. надо вытащить с уровня выше в первичном xml. что надо поставить вместо вопросиков???? уже и // и .. пробовали - не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 14:11 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ALDт.е. в <xsl:template name="7_contract_card"> мне CN_Plastic_First и др. надо вытащить с уровня выше в первичном xml. что надо поставить вместо вопросиков???? уже и // и .. пробовали - не помогает. как вы думаете в контексте <xsl:for-each select="C_Card/ROWSET/ROW"> каким по счету родителем будет ROW содержащий CN_Plastic_First ? Код: plaintext ЗЫ отдельный топик лениво было сделать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 14:24 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Столкнулся с одной проблемой. Есть таблица: Код: plaintext 1. 2. 3. 4. 5. и данные в ней: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Не могу понять, каким образом можно составить запрос, который бы вернул данные, где Result = 'U' в таком обьёме: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Подскажите, пожалуйста, как это можно было бы сделать. Можно вариант №2 (но лучше было бы первый): Код: plaintext 1. 2. 3. 4. 5. 6. 7. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 11:39 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
XML_queriesи данные в ней: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Правильнее будет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 11:40 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 12:03 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Огромнейшее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 12:50 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Подскажите пож-та, как можно удалить все пустые теги? т.е если после Transform получили <ROW> <TEG1>111</TEG1> <TEG2></TEG2> <TEG3>333</TEG3> </ROW> то надо удалить TEG2 Oracle 9ка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 13:02 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
AnastasiaD wrote: > Подскажите пож-та, как можно удалить все пустые теги? > т.е если после Transform получили > <ROW> > <TEG1>111</TEG1> > <TEG2></TEG2> > <TEG3>333</TEG3> > </ROW> > то надо удалить TEG2 > > Oracle 9ка. Набор тегов постоянен или заранее неизвестен? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 13:08 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov AnastasiaD wrote: > Подскажите пож-та, как можно удалить все пустые теги? > т.е если после Transform получили > <ROW> > <TEG1>111</TEG1> > <TEG2></TEG2> > <TEG3>333</TEG3> > </ROW> > то надо удалить TEG2 > > Oracle 9ка. Набор тегов постоянен или заранее неизвестен? Posted via ActualForum NNTP Server 1.4 Множество тегов не известно и они еще могут быть вложенными т.е. <ROW> <TEG1>111</TEG1> <TEG2></TEG2> <TEG3> <teg4></teg4> </TEG3> </ROW> и тогда надо удалить teg2,3,4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 13:22 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 13:35 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov Код: plaintext 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. Спасибо! щас попробую прикрутить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 13:49 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov Код: plaintext 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. не работет на <ApplicationFile> <ttt> <ggg>234</ggg> </ttt> <ttt>111</ttt> </ApplicationFile> получаю только <ApplicationFile> <ttt>111</ttt> </ApplicationFile> а должно быть с <ggg> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 14:07 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
AnastasiaD не работет на <ApplicationFile> <ttt> <ggg>234</ggg> </ttt> <ttt>111</ttt> </ApplicationFile> получаю только <ApplicationFile> <ttt>111</ttt> </ApplicationFile> а должно быть с <ggg> Тогда имхо надо работать в 2 прохода: для каждого элемента сперва определять, нет ли у него детей с непустым значением и если есть, то печатать и переходить к детям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 14:24 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov Тогда имхо надо работать в 2 прохода: для каждого элемента сперва определять, нет ли у него детей с непустым значением и если есть, то печатать и переходить к детям. вложенность детей нам тоже не известна.. может же быть <teg1> ... <tegN> <end>а тут или есть или нет значения</end> </tegN> ... </teg1> чтото я пока туго в xsl-е соображаю.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 14:48 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
AnastasiaD wrote: > вложенность детей нам тоже не известна.. может же быть рекурсией. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 14:51 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
оно? Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2008, 16:55 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Zloxaоно? Код: plaintext 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. Огромное спасибо! так вроде работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 07:07 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
добрый день! может кто поможет разобраться как выбрать значение DateFrom из ниже приведённой XML-ки в табличном виде? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. по аналогии с таким запросом не получается :( Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2008, 15:04 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
извините что опять поднимаю вопрос, но может кто нить поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 10:56 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 11:56 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
например так: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 12:20 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Спасибо всем!!! отлично работают оба варианта!! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2008, 12:29 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Подскажите, плиз, что не так делаю. Надо вывести в одну строчку все значения показателей. Выводит пустые значения: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2008, 18:20 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
help_xml wrote: > Подскажите, плиз, что не так делаю. Условие "KPI[name" везде заменить на "KPI[@name". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2008, 18:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Denis Popov help_xml wrote: > Подскажите, плиз, что не так делаю. Условие "KPI[name" везде заменить на "KPI[@name". Posted via ActualForum NNTP Server 1.4 Спасибо!, работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2008, 18:25 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
получают от soap ответ от сбербанка пока стоит задача научится его екстрактить на части, но этот подлец тут же ругается, на первом же элементе - extract('soap:Envelope'). оракулORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00601: Invalid token in: 'soap:Envelope' ORA-06512: at "SYS.XMLTYPE", line 111 без extract преобразование к xmltype проходит. Что ему еще от меня нужно ??? сокращенный xml Код: plaintext 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2008, 16:39 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
barrabasЧто ему еще от меня нужно ???namespace Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2008, 16:50 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Elic, супер, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2008, 17:34 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Тут Timm давал ссылку на SQL/XML how-to для 10g. Погонял те же тесты на 11g - SQL/XML стал в несколько раз быстрее и обгоняет DBMS_GEN. В 11g теперь стоит Java 1.5 с JIT компилятором. Неужели настолько лучше стало, или просто SQL/XML на С переписали? Завтра, если не забуду, надо трейсы снять. Если это Java так ускорилась, то есть повод и другие пакеты потестировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 01:38 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
как достать значение атрибута OnDate из примера я у него другой нейспейс пробую так Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 11:17 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
для простоты восприятия Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 12:15 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 13:30 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Zloxa Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 13:44 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Пытаюсь распарсить XML документ: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Oracle ругается: ORA-31011: сбой разбора XML ORA-19202: Возникла ошибка при обработке XML LPX-00234: namespace prefix "xsi" is not declared Error at line 1 Как правильно передать в это выражение нужный namespace? extract(value(t), 'ListNar/nz/text()', 'xmlns="http://tempuri.org"').getStringVal() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 05:51 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
BinaryBoyLPX-00234: namespace prefix "xsi" is not declared Как правильно передать в это выражение нужный namespace? Всё правильно. Но На 9-ке не работает, потому что где-то теряются namespace-ы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 10:47 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Elicгде-то ТУТ Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 11:02 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ElicBinaryBoyLPX-00234: namespace prefix "xsi" is not declared Как правильно передать в это выражение нужный namespace? Всё правильно. Но На 9-ке не работает, потому что где-то теряются namespace-ы У меня 9.2.0.7 Вообще никак эту ситуацию не обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 11:05 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Elic - спасибо! Zloxa - мегареспект! Действительно, не очевидня фича! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 13:31 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Всем привет! Заранее извиняюсь что вклиниваюсь со своими проблемами... Но думаю что не стоит отдельную тему заводить. Имеется следующая задача: Принять с клиента XML следующей структуры (схема может быть изменена, если это поможет делу, т.к. генерация XML под нашим контролем). Грубо говоря, это некоторые "измерения" и соответствующие каждому измерению "значения параметров". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. И соответсвенно раскидать по 2 табличкам master-detail Код: plaintext 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. Имеются достаточно жёсткие требования по скорости работы, и объёму передаваемой информации. Передаваться будет ориентировочно 15 подобных XML пакетов в минуту (хотелось бы чтобы система работала в режиме 24/7), каждый пакет - это 60 измерений (т.е. на каждую секунду) и вплоть до 200 параметров на каждое измерение (итого 1 пакет это до 12000 новых записей, но "типично" надеюсь будет раза в 2-3 меньше). Допускаются повторные передачи (для простоты считаем что без удаления ранее принятых данных - т.е. используя MERGE). Сейчас нарисована следующая ХП (по сути черновик, хотя и выполняет свои задачи) для приёма пакетов: Код: plaintext 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. 50. 51. К сожалению, по скорости работы это явно не лучшее решение. Пока пакеты небольшие, это ещё приемлемо, но вот обработка 100-200Кб-ного пакета занимает уже до 20 секунд :( Хочется совета, как быть... Может быть переписать парсинг средствами dbms_xmldom? Даст ли это реальный выигрыш по скорости обработки? Или может быть можно как-то оптимизировать приведенный код? Избежать внутреннего цикла (я так понимаю, он для каждого "куска" повторно выполняет парсинг и строит новый DOM) - всё-же 60 "лишних" обращений на пакет... Но увы я не представляю как можно от этого уйти :( Написать процедуру на Java (используя SAX) заманчиво, но скорее всего неосуществимо :( Целевой сервер будет не ниже 10-го, но лучше всего, если решение будет совместимо с 9-м, т.к. девелоперский сервер будет 9i (9.2.0.8). Клиентом - пока будет VB6 прога (через старый добрый ADO - спасибо форуму, нашёл как побороть лимит передачи параметра в 32К ;) ), в перспективе может быть и C# (ADO.NET) и даже какое-то сугубо оракловское решение (HTTP). WBR, Igor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 18:26 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Igor Korolyov wrote at 27.02.2009 18:26: > Имеется следующая задача: Принять с клиента XML следующей структуры > (схема может быть изменена, если это поможет делу, т.к. генерация XML > под нашим контролем). .... > Имеются достаточно жёсткие требования по скорости работы, и объёму .... > Целевой сервер будет не ниже 10-го, но лучше всего, если решение будет > совместимо с 9-м, т.к. девелоперский сервер будет 9i (9.2.0.8). Может сделать одну промежуточную таблицу и модифицировать XML так, чтобы он мог обработаться пакетами DBMS_XMLSAVE и DBMS_XMLSTORE? Второй появился в Oracle 10g и по-моему через них будет быстрее, чем через XmlType. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2009, 19:24 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Тут есть пара моментов 1) Оно до сих пор и работало через 2 промежуточные "рабочие" таблицы и пару процедур - там помимо погрузки ещё и вопросы обработки решались - минимаксы считались (по всему массиву конечно же считать минимакс это убийственно, вот оно и считалось по погружаемой порции, и сливалось с ранее запомненными данными), потом ещё и "интервалы непрерывности" считались (типа чтоб "дырки" по времени видеть - когда нет "измерений"). И всё это хозяйство, даже при не пиковой нагрузке генерировало до 45Мб редо-лога в минуту (чёрт его знает, там и сложность этой обработки, и кривость написанных процедур - всё понемногу влияло). Т.к. инстансы работали в режиме архивирования логов, то очень быстро пришлось такую систему вырубить :) 2) Я думал насчёт представления с инстед-оф триггером, чтоб он распихивал поступающие данные по 2-м таблицам. Это по идее сходно со схемой "плоской" рабочей таблицы... Но, как я сейчас себе представляю логику работы такого триггера, то получается что для каждой записи (идущей в итоге в детэйл-таблицу) придётся делать поиск в мастер-таблице по альтернативному ключу (w+t) - а это боюсь будет очень неэффективно. Сейчас такой поиск проводится только 1 раз для всех "значений параметров" - которых, как я говорил, будет до 200 на "измерение"... DBMS_XMLSAVE и тем паче DBMS_XMLSTORE конечно было бы заманчиво прикрутить (даже схему XML-я бы под них поменяли, чтобы не парится с трансформациями или "тонкой" настройкой пакета), но, как я понимаю, они оба не в состоянии работать с иерархиями :( А в приведенной процедуре ничего нельзя подправить? Чтобы избежать для второго цикла запроса - т.е. как-то по иному rec_m.params прокручивать... Или тут не происходит повторного разбора XML-я? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2009, 16:58 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Igor KorolyovА в приведенной процедуре ничего нельзя подправить? Чтобы избежать для второго цикла запроса - т.е. как-то по иному rec_m.params прокручивать... Или тут не происходит повторного разбора XML-я? Может тогда разбирать XML единожды до "плоского" вида и вставлять данные в обе таблицы, вроде такого: Код: plaintext 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2009, 17:51 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Попробуйте разбор через xmldom, может добавит скорости: Код: plaintext 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. 50. 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2009, 17:55 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
В общем, на текущий момент получилось следующее (на домашнем Oracle 10g XE при подаче тестового XML-я из CLOB поля таблички): -Моя изначальная процедура исполняется около 20 секунд. -Вариант с плоской таблицей, по наброску Дениса - 1 минуту 5 секунд. -Вариант с DBMS_XMLDOM (приведенный ниже) - около 3 секунд. При этом если закомментировать собственно INSERT и MERGE (т.е. по сути оставить только парсинг) - то исполняется примерно за 600 мсек, что на данный момент меня более чем устраивает. -Если будет время, попробую вариант с DBMS_XMLSTORE + view "распихивающий" данные по 2-м таблицам. Но боюсь что на реальной базе это будет неприемлемо медленно из-за огромного количества вспомогательных запросов на "наличие записи", даже учитывая что каждый такой запрос идёт по уникальному индексу... Всё-же 60 запросов куда как приятнее нежели 12000 :) В общем промежуточный лидер забега - DBMS_XMLDOM :) Хотя я думаю что SAX парсер на Java был бы не медленнее (увы, нет возможности проверить это). И конечно небольшое разочарование - на нашем кривом девелоперском сервере (давно уже надо всё переставлять, а то "недопатченный" 9.2.0.7 с некогда хранящимися в SYSTEM пользовательскими данными, переживший к тому-же пару серьёзных сбоев ОС - это та ещё "радость") вариант с DBMS_XMLDOM не работает вовсе - пресловутая ORA-06502: PL/SQL: numeric or value error: raw variable length too long Код: plaintext 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. Попутно возник ещё один вопрос - процедура за запуск (на чистой базе) генерирует 6.5Мб редо лога, если сразу после этого выполнить (в блоке BEGIN ... END) Два INSERT ... SELECT эффективно "удваивающих" данные (ну, конечно, со смещениями дабы не нарушать уникальных констрейнов) - то эта операция генерирует всего лишь 1.5 Мб лога - что может быть причиной подобного отличия? Порядок следования операций вставки? "чередующийся" в одном случае и "сплошной" в другом? Тот факт что первая операция исполняется на пустых таблицах а вторая на уже заполненных? Или какие-то особенности вычисления статистики TOAD-ом, о которых я не знаю? WBR, Igor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2009, 19:39 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Zloxaоно? Код: plaintext 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. Если у тега есть атрибуты, то данное преобразование их удаляет. Возможно это как то решить на 9-ке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2010, 19:32 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, поясню - приведенное выше преобразование XML удаляет пустые теги. Но, как выяснилось, удаляет также атрибуты тегов, если они присутствуют. Вот и хотелось бы узнать, как проще всего сделать так, чтобы они оставались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2010, 19:38 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Всем привет. Без вас не разберусь, но очень хочется. Пошли вторые сутки как я не могу распарсить простенький xml с использованием пакета XMLDOM и постов на этом замечательно форуме. Многое прочитано и осознано, но тщетно. Без обращения к светилам не обойтись. Прошу вас не пройти мимо и помочь. Вам понравиться. =) Вот мой(ваш) ‘код’: Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. Как мне получить следующий вывод: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Т.е. чтобы каждой фио соответствовали данные из паспорта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 12:24 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Год прошел, но может кто-нибудь заметит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 13:52 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Год прошел, но может кто-нибудь заметит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 14:10 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
May12, заметил. читайте про xmldom.getChildNodes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 14:17 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
May12, в качестве примера Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 14:38 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
123йй, ага, спасибо. =)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 16:24 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
123йй, что-то не могу въехать. Допустим в xml появился новый тэг citizen: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. как его вывести в таком виде: КОНУСЕВА МАЯ ВАЛЕНТИНОВНА 12.12.1980 1212121212 30.05.1991 UA ИВАНОВА МАРИНА ИВАНОВНА 27.12.1980 2121212121 17.06.1990 1313131313 24.08.1996 МИЛОБОКОВА ОЛЬГА ИВАНОВНА 05.12.1980 6504153760 25.04.1993 6508483028 26.11.1998 ? Попробовала несколько более или менее логичных вариантов (и продолжаю), но что-то с циклами не то или с местом объявления нодов. Подскажите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 10:43 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 14:07 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
123йй, что-то не могу въехать. Допустим в xml появился новый тэг citizen: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. как его вывести в таком виде: КОНУСЕВА МАЯ ВАЛЕНТИНОВНА 12.12.1980 1212121212 30.05.1991 UA ИВАНОВА МАРИНА ИВАНОВНА 27.12.1980 2121212121 17.06.1990 1313131313 24.08.1996 МИЛОБОКОВА ОЛЬГА ИВАНОВНА 05.12.1980 6504153760 25.04.1993 6508483028 26.11.1998 ? Попробовала несколько более или менее логичных вариантов (и продолжаю), но что-то с циклами не то или с местом объявления нодов. Подскажите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 09:46 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
May12, очень невнимательны. почему используете одни и теже переменные ? Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 10:08 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. Все хорошо все работает, но не знаю как выташить данные без атрибута, например <time>2013-12-04T08:33:12Z</time> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2013, 11:11 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
DIGITALPRO, проще же, быстрее и понятнее через xmltable: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2013, 11:36 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtender, Незнал этого, спасибо!, НО 1. без подсказки /*+ CURSOR_SHARING_EXACT */ не работает 2. результат селекта 0 rows ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2013, 12:29 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
DIGITALPRO, версия оракла какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2013, 12:37 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtender, 10-я ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2013, 12:40 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
DIGITALPRO, namespace укажи. и глюков с cursor_sharing не exact до 11й версии больше, чем в 11й. Да и с xmltable тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2013, 12:42 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
DIGITALPRO, а конкретнее? на 10.2.0.4 это работает Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2013, 13:02 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtender, версия 1 Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi 2 PL/SQL Release 10.2.0.5.0 - Production 3 CORE 10.2.0.5.0 Production 4 TNS for Linux: Version 10.2.0.5.0 - Production 5 NLSRTL Version 10.2.0.5.0 - Production А так все заработало, спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2013, 13:09 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtender, только в '/trk/trkseg/trkpt' сделали '//trk/trkseg/trkpt' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2013, 13:11 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#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. ничего не показывает, а так хочется в цикле всё обработать. Чувствую, что засада в неймспейсах, но понять не могу. спасибо всем откликнувшимся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 12:58 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
roadster, Даю наводку (слитно) : select count(1) from Table(XMLSEQUENCE(EXTRACT(xRetXml,'//soapenv:Body/*', 'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"'))) p возвращает 1 строку select count(1) from Table(XMLSEQUENCE(EXTRACT(xRetXml,'//Body/*', 'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"'))) p возвращает 0 строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 14:20 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNick, это мне сначала достать из soapenv, потом из NS1 и только потом из NSx?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 14:29 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
roadster, select extract(Value(p), '*/node()') from Table(XMLSEQUENCE(EXTRACT(xRetXml,'//soapenv:Body/NS1:getData/*', 'xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:NS1="http://www.test.ru/test/test/service/service1/v1'))) p; Если совсем коротко, soapenv:Body и Body это разные элементы, поэтому надо писать весь путь с ns. Соответственно их все надо определить третим парвметром (через пробел можно) Получилось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 14:36 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
roadster, И еще, у тебя есть NS3:item и NS4:item. Через ось по направлению ты их одновременно не получишь, нужно ставить условие. Если мне не изменяет память тебе нужна xpath функция local_name() или както так.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 14:42 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNickroadster, И еще, у тебя есть NS3:item и NS4:item. Через ось по направлению ты их одновременно не получишь, нужно ставить условие. Если мне не изменяет память тебе нужна xpath функция local_name() или както так.... Вспомнил, так: Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 14:48 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNick, Код: plsql 1. 2. 3. 4. так получается, но в значениях пусто... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 15:14 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNickВспомнил, так:огромное спасибо, почти добил Код: plsql 1. 2. 3. 4. так получает значения в итемах, но пустые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 15:18 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNick, спасибочки огромное, сделано и заработало кому интересно в спойлере (с кривым выводом, ну да мне просто проверить) Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 15:43 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. Почему возвращает две строки? NS3 и NS4 namespaces идентичны. Если изменить NS4 на http://www.test.ru/test/test/types/type1/v2 то мое решение вернет именно NS4:item а вот решение от ArtNick/roadster все равно вернет все item этого уровня независимо от namespace: Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 16:10 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
SYа вот решение от ArtNick/roadster все равно вернет все item этого уровня независимо от namespace:да, именно это мне и надо. не я формирую ответ, набор итемов может быть достаточно большой (на тестовом ответе их 64, но это не предел, другой сервис вернул 4642 итема с другой структурой), мне надо их разобрать и положить в таблицу. но это конкретно мой случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 16:18 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
SY, и неймспейсы не меняются для итемов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 16:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
поправил, чтобы не 10 строк выводилось Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 17:02 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
SY, я тоже подобные запросы пишу только через XMLTABLE, но автор пишет о 9 версии. Вроде XMLTABLE c 10-й? И еще на эту тему. Пару лет назад был проект с большим объемом парсинга XML, при это сами документы были с кучей ns, и что самое противное они постоянно менялись. То есть могли одновременно приходить как xmlns:NS3=" http://www.test.ru/test/test/types/type1/v1 так и xmlns:NS3=" http://www.test.ru/test/test/types/type1/v2 и т.д. Дабы не увязать в сопровождении я сделал так: 1. Трансформировал XML в простую структуру без ns посредством XQUERY, там можно прочитать ns в переменную и дальше юзать переменную 2. Парсил простую XML У меня были сомнения в части веса такого подхода, все таки скриптовый язык, но, к удивлению, они исчезли после тестов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2015, 20:19 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNick, у меня 11 версия, но ArtNickсами документы были с кучей ns, и что самое противное они постоянно менялись. То есть могли одновременно приходить как xmlns:NS3=" http://www.test.ru/test/test/types/type1/v1 так и xmlns:NS3=" http://www.test.ru/test/test/types/type1/v2 и т.д.у меня то же самое. вариант с простой XML я рассмотрю, спасибо. ЗЫ тему поднял, дабы не плодить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 11:41 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
roadsterArtNick, у меня 11 версия, но ArtNickсами документы были с кучей ns, и что самое противное они постоянно менялись. То есть могли одновременно приходить как xmlns:NS3=" http://www.test.ru/test/test/types/type1/v1 так и xmlns:NS3=" http://www.test.ru/test/test/types/type1/v2 и т.д.у меня то же самое. вариант с простой XML я рассмотрю, спасибо. ЗЫ тему поднял, дабы не плодить. разбор твоего XML с разными неймспейсами через wildcards: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 14:43 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
чуть проще: Код: plsql 1. Код: 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. по идее вообще должно было бы хватить: Код: plsql 1. но почему-то не работает(может глаза замылились и чего-то не замечаю), ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 14:46 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
судя по-всему просто очередной баг, т.к. при изменении типа столбцов в "columns" на xmltype все работает как надо: Код: 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. 50. 51. 52. 53. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 14:56 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtenderпо идее вообще должно было бы хватить: Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 15:02 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtenderразбор твоего XML с разными неймспейсами через wildcards: Код: 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. Ты перечисляешь ns.Когда враги начнут http://www.test.ru/test/test/types/type1/v348 передавать придется придется скрипт менять, а лень. Я же имел в виду внутри xquery прочитать в переменные. И еще такая чисто субъективная привычка, для XMLTABLE () использую xpath а для XQUERY() - xquery.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 15:07 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNickТы перечисляешь ns.Когда враги начнут http://www.test.ru/test/test/types/type1/v348 передавать придется придется скрипт менять, а лень. Я же имел в виду внутри xquery прочитать в переменные. И еще такая чисто субъективная привычка, для XMLTABLE () использую xpath а для XQUERY() - xquery....бред-бред-бред... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 15:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtenderArtNickТы перечисляешь ns.Когда враги начнут http://www.test.ru/test/test/types/type1/v348 передавать придется придется скрипт менять, а лень. Я же имел в виду внутри xquery прочитать в переменные. И еще такая чисто субъективная привычка, для XMLTABLE () использую xpath а для XQUERY() - xquery....бред-бред-бред... Код: 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. Ересь! Извлекать все подряд документы item это кто ж тебя такому учил. Если уж пишешь так хоть голову включай а не опу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 15:58 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNickИзвлекать все подряд документы itemа подумать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 16:17 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
SYxtenderпо идее вообще должно было бы хватить: Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. SY.а какая версия? у меня на 11.2.0.3.11: Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 16:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtenderArtNickИзвлекать все подряд документы itemа подумать? Вот это я тебе и предложил! Не извлекать все item из документа а тольком NS3:item и NS4:item иначе рискуеш JOPA:item получить. При это вне зависимости от версии схемы, в которой элементы объявлены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 16:23 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNickЕресь! Извлекать все подряд документы item это кто ж тебя такому учил. Если уж пишешь так хоть голову включай а не опу Не документы, а узлы документa (nodes). И не все, а только на ветке /soapenv:Envelope/soapenv:Body/NS1:getData/response. Ну и самое главное - а что твое решешие не извлекает все items на ветке? SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 16:29 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtender, спасибо, возьму на заметку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 16:29 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
SYArtNickЕресь! Извлекать все подряд документы item это кто ж тебя такому учил. Если уж пишешь так хоть голову включай а не опу Не документы, а узлы документa (nodes). И не все, а только на ветке /soapenv:Envelope/soapenv:Body/NS1:getData/response. Ну и самое главное - а что твое решешие не извлекает все items на ветке? SY. Не узлы а элементы, рас уж ратуешь за правильную терминологию то пользуйся стандартной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 16:35 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
SYПочему возвращает две строки? NS3 и NS4 namespaces идентичны. Если изменить NS4 на http://www.test.ru/test/test/types/type1/v2 то мое решение вернет именно NS4:item а вот решение от ArtNick/roadster все равно вернет все item этого уровня независимо от namespace: SY. Об этом и говорили выше. Менять же документ на стоит, он такой какой есть. Парсить его лучше так: 1. объявить ns, их 3. 3. парсить по объявленным ns Код: 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. и тогда хоть NS3, NS4, NS248 - ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 17:37 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNickПарсить его лучше так: 1. объявить ns, их 3. 3. парсить по объявленным nsидиотский оверкил... и чем тебе указание xmlnamespaces в xmltable тогда не понравилось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 17:47 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNick, "Парсить его лучше так:" Балобол, ты уверен, что ты воспринимаем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 18:15 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtenderArtNickПарсить его лучше так: 1. объявить ns, их 3. 3. парсить по объявленным nsидиотский оверкил... и чем тебе указание xmlnamespaces в xmltable тогда не понравилось? Стоп, отматываем немного назад. 1. В документе 3 ns: http://schemas.xmlsoap.org/soap/envelope/, http://www.test.ru/test/test/service/service1/v1, http://www.test.ru/test/test/types/type1/v1 2. на http://www.test.ru/test/test/types/type1/v1 ссылается 3 префикса : NS2, NS3, NS4 3. local-name или wildcard в префиксе вернет не только item из http://www.test.ru/test/test/types/type1/v1 но и item из любых других ns в том числе и JOPA (JOPA это URI а не префикс), что неправильно. 4.Выборка c перечисление всех префиксов будет умножать результат (пример SY) 3. xmlnamespaces в xmltable- да на здоровье, только не прописывай все префиксы, достаточно одного. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 18:33 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ElicArtNick, "Парсить его лучше так:" Балобол, ты уверен, что ты воспринимаем? Если не воспринимаешь читай стандарт , источник знаний ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 18:36 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNickМенять же документ на стоит, он такой какой есть. Парсить его лучше так: 1. объявить ns, их 3. 3. парсить по объявленным ns и тогда хоть NS3, NS4, NS248 - Зачем вообще обьявлять NS namespaces если требуется (что я вначале пропустил) все items, как xtender уже намекал? SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 20:13 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
SYArtNickМенять же документ на стоит, он такой какой есть. Парсить его лучше так: 1. объявить ns, их 3. 3. парсить по объявленным ns и тогда хоть NS3, NS4, NS248 - Зачем вообще обьявлять NS namespaces если требуется (что я вначале пропустил) все items, как xtender уже намекал? SY. Таких постановок не бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 23:41 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
по идиотизму котико-кальмарских напоминает... не оно ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 02:45 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNickТаких постановок не бываетбывает. мне самому непонятно зачем для каждого итема свой NS объявляют (хм, номер строки в отчёте на базе которого строят ответ?), но такой вот он приходит и его надо обработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 07:57 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
roadsterArtNickТаких постановок не бываетбывает. мне самому непонятно зачем для каждого итема свой NS объявляют (хм, номер строки в отчёте на базе которого строят ответ?), но такой вот он приходит и его надо обработать. Дружище, Нет, нет и нет, NS один на все итемы , а вот префиксы разные. При парсинге дай свой префикс этому NS, один. Его и используй. В примере с xquery уже и переименовал префиксы. Вот еще так посмотри xpath ниже: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 10:10 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNick NS один на все итемы , а вот префиксы разныеда, префиксы, попутал. за примеры ещё раз спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 11:54 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Есть примерно такой XML Код: xml 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. При помощи которого получается динамика курса доллара с сайта http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=26/05/2015&date_req2=16/06/2015&VAL_NM_RQ=R01235 Написал такой запрос: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Результат выполнения которого: VAL_DATE VAL_VALUE(null) 49.8613(null) 50.3223(null)51.0178(null)52.2907(null)52.8213(null) 52.9716(null) 53.059(null)53.4413(null)54.5285(null) 54.8219(null) 54.9908(null) 55.2679(null) 55.91(null) 56.0435(null)56.2463 Никак не могу понять как сделать так, чтобы дата соответствующая курсу тоже записывалась в таблицу в колонку VAL_DATE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2015, 09:41 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
rainbow59Никак не могу понять как сделать так, чтобы дата соответствующая курсу тоже записывалась в таблицу в колонку VAL_DATE?"Собака". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2015, 09:59 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
rainbow59, declare cd xmltype := xmltype('<ValCurs ID="R01235" DateRange1="26/05/2015" DateRange2="16/06/2015" name="Foreign Currency Market Dynamic"> <Record Date="26.05.2015" Id="R01235"> <Nominal>1</Nominal> <Value>49,8613</Value> </Record> <Record Date="27.05.2015" Id="R01235"> <Nominal>1</Nominal> <Value>50,3223</Value> </Record> <Record Date="28.05.2015" Id="R01235"> <Nominal>1</Nominal> <Value>51,0178</Value> </Record> <Record Date="29.05.2015" Id="R01235"> <Nominal>1</Nominal> <Value>52,2907</Value> </Record> <Record Date="30.05.2015" Id="R01235"> <Nominal>1</Nominal> <Value>52,9716</Value> </Record> <Record Date="02.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>52,8213</Value> </Record> <Record Date="03.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>53,4413</Value> </Record> <Record Date="04.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>53,0590</Value> </Record> <Record Date="05.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>54,9908</Value> </Record> <Record Date="06.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>56,2463</Value> </Record> <Record Date="09.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>56,0435</Value> </Record> <Record Date="10.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>55,9100</Value> </Record> <Record Date="11.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>54,8219</Value> </Record> <Record Date="12.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>54,5285</Value> </Record> <Record Date="16.06.2015" Id="R01235"> <Nominal>1</Nominal> <Value>55,2679</Value> </Record> </ValCurs>'); begin open :the_cursor for SELECT * from XMLTABLE('/ValCurs/Record' PASSING cd COLUMNS VAL_DATE varchar2 (4000) path '@Date', VAL_VALUE number path 'Value' ) X; end; 1. Почитай стандарт XPATH и XQUERY, ответ на твой вопрос ( path '@Date') к Oracle не относится 2. С чего это ты уверен что в твоем XML значение аттрибута VAL_DATE по формату будет соответствовать формату даты сессии? Сначала с varchar а уж после в дату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2015, 10:04 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ArtNickС чего это ты уверен что в твоем XML значение аттрибута VAL_DATE по формату будет соответствовать формату даты сессии?А VAL_VALUE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2015, 10:11 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Elicrainbow59Никак не могу понять как сделать так, чтобы дата соответствующая курсу тоже записывалась в таблицу в колонку VAL_DATE?"Собака". О, Барин седня многословен! Вместо: @ аж 8 символов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2015, 10:11 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
ElicArtNickС чего это ты уверен что в твоем XML значение аттрибута VAL_DATE по формату будет соответствовать формату даты сессии?А VAL_VALUE? + ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2015, 10:12 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Ребят помогите... подзабылось. Есть: Код: plsql 1. в нем лежим xml: Код: xml 1. 2. 3. 4. 5. 6. 7. Я пытаюсь достать status вот так: Код: plsql 1. 2. Возвращается ошибка: Код: plaintext Подскажите как вывести на экран status. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 10:50 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
May12, в поиске забанили Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 11:13 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
May12, экстракт у тебя возвращает null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 11:14 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
исправь так:May12 Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 11:25 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 11:25 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
блин опечатался, правильно так:xtenderисправь так:May12 Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 11:25 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtender, ну и я тоже Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 11:29 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
xtender, 123йй, спасибо вам огромное. Работают оба варианта. =0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 12:58 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
господа коллеги, подскажите, куда копать Код: xml 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 19:01 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
набросал примерчик как тут , но префикс ему не нравится. Похоже, PHD Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 20:21 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. а полный XPATH построить не получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 20:34 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 21:08 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
коллеги, а децимал сепаратор - точка. Как обрабатывать? Не NLS же менять Код: plsql 1. Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 23:54 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
andreymxколлеги, а децимал сепаратор - точка. Как обрабатывать? Не NLS же менять Том Кайт посоветовал конвертить вручную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 00:37 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
andreymx, к слову с неймспейсами можно проще: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 02:25 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
andreymxколлеги, а децимал сепаратор - точка. Как обрабатывать? Не NLS же менятьрегистрируй xsd схему с типизацией элементов и мапь их на атрибуты объектного типа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 05:32 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
andreymxпосоветовал конвертить вручнуюПричём всё из varchar2(4000). Чтобы бы можно было внятно сказать где и какая ошибка вместо невнятного xml parsing failed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 07:26 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Elicandreymxпосоветовал конвертить вручнуюПричём всё из varchar2(4000). Чтобы бы можно было внятно сказать где и какая ошибка вместо невнятного xml parsing failed.да, спасибо, что-то в этом роде уже реализую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 08:46 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
коллеги, попался еще такой странный xml в <Tasks> идёт черезстрочно группы <resource> и <Task> максимально приблизился к результату такой хренью Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. но т.к. Ab и Ac кроссджойнятся, то понятно с каким результатомROWNUMRESNAMETASKNAMEFUNC_DIRECTION1Дмитрий ВасильевичПостановкаУправление материальными потоками2Дмитрий ВасильевичПрограммированиеУправление материальными потоками3Лариса СтаниславовнаПостановкаУправление материальными потоками4Лариса СтаниславовнаПрограммированиеУправление материальными потокамикиньтесь идейкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2017, 19:50 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
andreymxв <Tasks> идёт черезстрочно группы <resource> и <Task>Ноги выдернуть "автору". andreymxкиньтесь идейкой following-sibling ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2017, 20:57 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Elicandreymxв <Tasks> идёт черезстрочно группы <resource> и <Task>Ноги выдернуть "автору". andreymxкиньтесь идейкой following-sibling буду щаз дёргать поставщика, чтобы разъяснил чётко идею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2017, 08:26 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Не могу разобраться что я сделал не так. Возвращает пусто: with t as (select XMLType('<?xml version="1.0" encoding="UTF-8"?> <kml xmlns=" http://www.opengis.net/kml/2.2" xmlns:gx=" http://www.google.com/kml/ext/2.2" xmlns:kml=" http://www.opengis.net/kml/2.2" xmlns:atom=" http://www.w3.org/2005/Atom"> <Document> <name>TERMINAL</name> <open>1</open> <Folder xmlns=" http://www.opengis.net/kml/2.2"> <name>Алматы</name> <description><p id="region_kaz">Алматы</p></description> <Placemark> <name>Терминал в маг "Технодом"</name> <description><p id="name_kaz">"Технодом" дүкеніндегі терминал </p> <p id="adres1">пр. Абая, 44, г. Алматы, Казахстан.</p> <p id="adres2">уг.ул. Байтурсынова, в ТД "Променад"</p> <p id="adres1_kaz">АБай, даңғылы, 44, Алматы қ, Қазақстан</p> <p id="adres2_kaz">Байтурсын көшесінің қиылысы "Променад" ОССО</p> <p id="work_schedule">пн-вс: с 10:00-22:00, без перерыва</p> <p id="work-schedule_kaz">дс-же: 10:00-22:00, үзіліссіз</p> <p id="phone">7979</p> <p id="dwh_id">5</p> <p id="note1">Категория: Терминалы самообслуживания;</p> <p id="note2">Погашение кредитов в режиме онлайн; Пополнение депозитов в режиме онлайн; Пополнение дебетной карты в режиме онлайн; Пополнение мобильных платежей; Оплата коммунальных платежей; Оплата справок (срочная/обычная); Оплата авто штрафов по г.Алматы; Онлайн заявка на получение кредита; Онлайн заявка на получение депозита.</p> <p id="note1_kaz">Санаты: Өзіне-өзі қызмет көрсету терминалдары</p> <p id="note2_kaz">Несиелерді онлайн режимде өтеу; Депозиттерді онлайн режимде толықтыру; Дебет картасын онлайн режимде толықтыру; Ұялы төлемдерді толықтыру; Тұрмыстық қызметтерді төлеу; Анықтамаларды төлеу (жедел / жедел емес); Алматы қ. бойынша көлік айыппұлдарын төлеу; Несие алуға онлайн өтінім; Депозит алуға онлайн өтінім.</p></description> <LookAt> <longitude>76.92541292977619</longitude> <latitude>43.24003942730797</latitude> <altitude>0</altitude> <heading>-0.0002406642888524397</heading> <tilt>16.2121247048951</tilt> <range>114.7453283132917</range> <gx:altitudeMode xmlns:gx=" http://www.google.com/kml/ext/2.2">relativeToSeaFloor</gx:altitudeMode> </LookAt> <styleUrl>#m_ylw-pushpin00</styleUrl> <Point> <coordinates>76.92527024992003,43.24004679643284,0</coordinates> </Point> </Placemark> </Folder> </Document> </kml>') x from dual) select extract(value(s), '//description//p[@id="adres1"]/@value', 'xmlns="http://www.opengis.net/kml/2.2"' ).getStringVal() from t, table(XMLSequence(extract(x, 'kml/Document/Folder/Placemark/description', 'xmlns="http://www.opengis.net/kml/2.2"'))) s ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2017, 10:57 |
|
||
|
XML в Oracle9i. Примеры разборки
|
|||
|---|---|---|---|
|
#18+
Разобрался. Осталось понять как добавить в запрос --kml/Document/name --kml/Document/Folder/name Как это сделать понятие не имею... with t as (select XMLType('<?xml version="1.0" encoding="UTF-8"?> <kml xmlns=" http://www.opengis.net/kml/2.2" xmlns:gx=" http://www.google.com/kml/ext/2.2" xmlns:kml=" http://www.opengis.net/kml/2.2" xmlns:atom=" http://www.w3.org/2005/Atom"> <Document> <name>TERMINAL</name> <open>1</open> <Folder xmlns=" http://www.opengis.net/kml/2.2"> <name>Алматы</name> <description><p id="region_kaz">Алматы</p></description> <Placemark> <name>Терминал в маг "Технодом"</name> <description><p id="name_kaz">"Технодом" дүкеніндегі терминал </p> <p id="adres1">пр. Абая, 44, г. Алматы, Казахстан.</p> <p id="adres2">уг.ул. Байтурсынова, в ТД "Променад"</p> <p id="adres1_kaz">АБай, даңғылы, 44, Алматы қ, Қазақстан</p> <p id="adres2_kaz">Байтурсын көшесінің қиылысы "Променад" ОССО</p> <p id="work_schedule">пн-вс: с 10:00-22:00, без перерыва</p> <p id="work-schedule_kaz">дс-же: 10:00-22:00, үзіліссіз</p> <p id="phone">7979</p> <p id="dwh_id">5</p> <p id="note1">Категория: Терминалы самообслуживания;</p> <p id="note2">Погашение кредитов в режиме онлайн; Пополнение депозитов в режиме онлайн; Пополнение дебетной карты в режиме онлайн; Пополнение мобильных платежей; Оплата коммунальных платежей; Оплата справок (срочная/обычная); Оплата авто штрафов по г.Алматы; Онлайн заявка на получение кредита; Онлайн заявка на получение депозита.</p> <p id="note1_kaz">Санаты: Өзіне-өзі қызмет көрсету терминалдары</p> <p id="note2_kaz">Несиелерді онлайн режимде өтеу; Депозиттерді онлайн режимде толықтыру; Дебет картасын онлайн режимде толықтыру; Ұялы төлемдерді толықтыру; Тұрмыстық қызметтерді төлеу; Анықтамаларды төлеу (жедел / жедел емес); Алматы қ. бойынша көлік айыппұлдарын төлеу; Несие алуға онлайн өтінім; Депозит алуға онлайн өтінім.</p></description> <LookAt> <longitude>76.92541292977619</longitude> <latitude>43.24003942730797</latitude> <altitude>0</altitude> <heading>-0.0002406642888524397</heading> <tilt>16.2121247048951</tilt> <range>114.7453283132917</range> <gx:altitudeMode xmlns:gx=" http://www.google.com/kml/ext/2.2">relativeToSeaFloor</gx:altitudeMode> </LookAt> <styleUrl>#m_ylw-pushpin00</styleUrl> <Point> <coordinates>76.92527024992003,43.24004679643284,0</coordinates> </Point> </Placemark> </Folder> </Document> </kml>') x from dual) select value(s), extract(value(s), '//description//p[@id="adres1"]/text()', 'xmlns="http://www.opengis.net/kml/2.2"' ).getStringVal() from t, table(XMLSequence(extract(x, 'kml/Document/Folder/Placemark/description', 'xmlns="http://www.opengis.net/kml/2.2"'))) s ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2017, 12:25 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1886509]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
86ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
164ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 546ms |

| 0 / 0 |
