Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / xml обзор технологий / 19 сообщений из 19, страница 1 из 1
10.04.2018, 11:51
    #39627844
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
Прошу прощения за вероятно глупый вопрос,
но это по части некой обзорной части технологии xml. Как-то сходу в инете не удалось найти варианты решения.

слепить xml можно из селекта (xmlgen), при помощи xsd-схемы,xmldom'ом, можно просто текстовым файлом....

а если у файла есть вложенность - можно ли как-то без xsd-схемы его слепить ? есть на примете технология ? например, идеально было бы с применением массива is table of.
...
Рейтинг: 0 / 0
10.04.2018, 11:56
    #39627846
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
ОкеанНадеждыесть на примете технология ?RTFM Concatenation Operator (FAQ)


http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
10.04.2018, 18:54
    #39628086
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
ElicОкеанНадеждыесть на примете технология ?RTFM Concatenation Operator (FAQ)


http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM

||- очень элегантно )
...
Рейтинг: 0 / 0
10.04.2018, 19:30
    #39628096
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
ОкеанНадежды
||- очень элегантно )

я в хмл учусь (сам не знаю зачем)
но что значіт фраза "если у файла есть вложенность"
можно пример, что есть, что надо

....
stax
...
Рейтинг: 0 / 0
10.04.2018, 20:34
    #39628115
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
Мне однажды понравилось про высокоточные устройства tnsnames.ora & sqlnnet.ora , можно их разобрать для тренировки.
...
Рейтинг: 0 / 0
11.04.2018, 15:37
    #39628492
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
dmdmdmМне однажды понравилось про высокоточные устройства tnsnames.ora & sqlnnet.ora , можно их разобрать для тренировки.

что-то это совсем не по теме
...
Рейтинг: 0 / 0
11.04.2018, 16:09
    #39628540
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
ОкеанНадежды,

Если привести примеры "у файла есть вложенность", ожидаемый результат и что уже попробовал сам, то стёба будет чуточку меньше, а ответы несколько ближе к решению.
...
Рейтинг: 0 / 0
12.04.2018, 18:31
    #39629406
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
например, есть массив
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
declare
  type acc_inf is record(
    code varchar2(25),
    name varchar2(4000));
  type acc_inf_arr is table of acc_inf;

  type all_inf is record(
    num_doc number,
    acc_all acc_inf_arr);
begin
  -- нужно создать ксемельник по all_inf
  -- где во вложенном массиве acc_all может быть несколько записей

  null;
end
...
Рейтинг: 0 / 0
12.04.2018, 18:32
    #39629407
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
ну точнее, не дописала , конечно type all_inf_arr is table of all_inf;

declare
type acc_inf is record(
code varchar2(25),
name varchar2(4000));
type acc_inf_arr is table of acc_inf;

type all_inf is record(
num_doc number,
acc_all acc_inf_arr);
type all_inf_arr is table of all_inf;
begin
-- нужно создать ксемельник по all_inf_arr
-- где во вложенном массиве acc_all может быть несколько записей

null;
end
...
Рейтинг: 0 / 0
12.04.2018, 18:44
    #39629415
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
ОкеанНадежды
Код: plsql
1.
2.
  -- нужно создать ксемельник по all_inf
  -- где во вложенном массиве acc_all может быть несколько записей

Ты не умеешь клеить в цикле? Или имея кастомные типы ждёшь чуда?
...
Рейтинг: 0 / 0
12.04.2018, 18:55
    #39629418
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
ОкеанНадежды,

Если обойтись типами уровня схемы или ковертировать в AnyData, то конструктор 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.
SQL> select xmltype(cursor(select 666 num_doc,
  2                               cursor(select rownum code, 'name' || rownum name
  3                                        from dual
  4                                      connect by rownum <= 3)
  5                                  acc_all
  6                          from dual))
  7            x
  8    from dual;

X
----------------------------------------------------------------------------------------------------
<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <NUM_DOC>666</NUM_DOC>
  <ACC_ALL>
   <ACC_ALL_ROW>
    <CODE>1</CODE>
    <NAME>name1</NAME>
   </ACC_ALL_ROW>
   <ACC_ALL_ROW>
    <CODE>2</CODE>
    <NAME>name2</NAME>
   </ACC_ALL_ROW>
   <ACC_ALL_ROW>
    <CODE>3</CODE>
    <NAME>name3</NAME>
   </ACC_ALL_ROW>
  </ACC_ALL>
 </ROW>
</ROWSET>
...
Рейтинг: 0 / 0
12.04.2018, 19:38
    #39629433
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
dbms_photoshopМожно сформировать и непосредственно по данным запроса.
Занудства ради - возможности формирования XMLType в select существенно шире представленных.
Чтить доку по XMLELEMENT, XMLATTRIBUES, XMLAGG и иже с ними.
Ну и DBMS_XMLGEN до кучи.
...
Рейтинг: 0 / 0
12.04.2018, 20:00
    #39629444
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
dbms_photoshopОкеанНадежды,

Если обойтись типами уровня схемы или ковертировать в AnyData, то конструктор 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.
SQL> select xmltype(cursor(select 666 num_doc,
  2                               cursor(select rownum code, 'name' || rownum name
  3                                        from dual
  4                                      connect by rownum <= 3)
  5                                  acc_all
  6                          from dual))
  7            x
  8    from dual;

X
----------------------------------------------------------------------------------------------------
<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <NUM_DOC>666</NUM_DOC>
  <ACC_ALL>
   <ACC_ALL_ROW>
    <CODE>1</CODE>
    <NAME>name1</NAME>
   </ACC_ALL_ROW>
   <ACC_ALL_ROW>
    <CODE>2</CODE>
    <NAME>name2</NAME>
   </ACC_ALL_ROW>
   <ACC_ALL_ROW>
    <CODE>3</CODE>
    <NAME>name3</NAME>
   </ACC_ALL_ROW>
  </ACC_ALL>
 </ROW>
</ROWSET>



спасибо! очень нравится вариант,
попробую- отпишусь.

интересно, какие подводные камни этого метода
...
Рейтинг: 0 / 0
12.04.2018, 20:01
    #39629446
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
andrey_anonymousdbms_photoshopМожно сформировать и непосредственно по данным запроса.
Занудства ради - возможности формирования XMLType в select существенно шире представленных.
Чтить доку по XMLELEMENT, XMLATTRIBUES, XMLAGG и иже с ними.
Ну и DBMS_XMLGEN до кучи.

с DBMS_XMLGEN знакома, вроде , им вложенность не создашь
...
Рейтинг: 0 / 0
12.04.2018, 20:28
    #39629463
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
ОкеанНадеждыс DBMS_XMLGEN знакома, вроде , им вложенность не создашьПлохо познакомилась.
...
Рейтинг: 0 / 0
12.04.2018, 20:45
    #39629478
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
очень круто все получилось сделать через

всем спасибо!
но если кто-либо захочет еще покидать интересных ссылок- приветствуется со страшной силой ;) все почитаю

примерчик:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SELECT  (XMLElement("TAG",
        xmltype('<kkk> fkjvnhfjkvnh </kkk>'),
        XMLAgg(XMLElement("ResultTag",
            XMLElement("sacc_number", acc.code),
            XMLElement("sacc_name",null))))
    ).GetStringVal() as TAG
  FROM eid.eid_firma_account acc
 where reference in (1199547, 98822715)
 and branch = 191
 
 
 SELECT  (XMLElement("TAG",
        xmltype('<kkk> fkjvnhfjkvnh </kkk>'),
        XMLElement("ResultTag",
            XMLElement("sacc_number", acc.code),
            XMLElement("sacc_name",null)))
    ).GetStringVal() as TAG
  FROM eid.eid_firma_account acc
 where reference in (1199547, 98822715)
 and branch = 191
...
Рейтинг: 0 / 0
12.04.2018, 20:45
    #39629479
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
dbms_photoshopОкеанНадеждыс DBMS_XMLGEN знакома, вроде , им вложенность не создашьПлохо познакомилась.

хм?
...
Рейтинг: 0 / 0
12.04.2018, 21:41
    #39629510
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
ну и для пустых тегов, которые не должны выводиться- добавила XMLFOREST

вообще, так классно

скажите, а какой может быть подвох в использовании XMLElement ? не может же быть так все хорошо ?

что-то не нашла никаких особых предупреждений
...
Рейтинг: 0 / 0
12.04.2018, 22:24
    #39629527
ОкеанНадежды
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xml обзор технологий
с отображением тегов только небольшая заминка

если не добавить XMLROOT - то может выводить закрывающий тег в пустом теге
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / xml обзор технологий / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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