Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получить количество элементов xml документа по его имени / 8 сообщений из 8, страница 1 из 1
29.03.2017, 10:13
    #39428978
Prog_sql1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить количество элементов xml документа по его имени
Приветствую, уважаемые форумчане!
Подскажите пожалуйста, как можно узнать количество элементов в xml документе по его имени?
В разработке использую пакет "dbms_xmldom"
...
Рейтинг: 0 / 0
29.03.2017, 11:33
    #39429057
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить количество элементов xml документа по его имени
Prog_sql1Приветствую, уважаемые форумчане!
Подскажите пожалуйста, как можно узнать количество элементов в xml документе по его имени?
В разработке использую пакет "dbms_xmldom"
Тестовые данные + что написал (использовать ТЭГИ форма чтобы можно было читать)

Как правильно задавать вопросы

Ели Вам сюда: 12561782
...
Рейтинг: 0 / 0
29.03.2017, 11:49
    #39429070
Prog_sql1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить количество элементов xml документа по его имени
Тестовые данные.


<?xml version="1.0" encoding="UTF-8"?>
<TestInfo requestID="testID dateTimeCreate="01.01.1900 00.00.00" version="v 0.01" sender="set_test_sys" receiver="get_test_sys">
<OrgData extID="test" ogrn="test" okpo="test" inn="test" regDate="01.01.1900 00.00.00" okato="test" blockedDBO="test" type="test">
<OrgForm>ЗАО</OrgForm>
<OrgFormFull>Закрытые акционерные общества</OrgFormFull>
<Addresses>
<Address>
<AddressTypeCode>FACT</AddressTypeCode>
<Country digital="test" iso2="RU" nameShort="РОССИЯ">Российская Федерация</Country>
<Zip>000000</Zip>
<Sub>г Санкт-Петербург</Sub>
<City>Санкт-Петербург</City>
<Str>Санкт-Петербург</Str>
<Hnumber>1</Hnumber>
<Corp>лит.А</Corp>
</Address>
<Address>
<AddressTypeCode>POST</AddressTypeCode>
<Country digital="test" iso2="RU" nameShort="РОССИЯ">Российская Федерация</Country>
<Zip>000000</Zip>
<Sub>г Санкт-Петербург</Sub>
<City>Санкт-Петербург</City>
<Str>Санкт-Петербург</Str>
<Hnumber>1</Hnumber>
<Corp>лит.А</Corp>
</Address>
<Address>
<AddressTypeCode>CORP</AddressTypeCode>
<Country digital="test" iso2="RU" nameShort="РОССИЯ">Российская Федерация</Country>
<Zip>000000</Zip>
<Sub>г Санкт-Петербург</Sub>
<City>Санкт-Петербург</City>
<Str>Санкт-Петербург</Str>
<Hnumber>1</Hnumber>
<Corp>лит.А</Corp>
</Address>
</Addresses>
<Accounts>
<Account>
<Num>00000000000000000001</Num>
<CloseDate/>
</Account>
<Account>
<Num>00000000000000000002</Num>
</Account>
</Accounts>
</OrgData>
</TestInfo>


В данном xml нужно посчитать сколько всего элементов "Account" или "Address" или еще каких то.
Набор их произвольный в зависимости от самой xml так как теги могут еще добавляться.
Задача в следующим, приходит подобного рода xml, я создаю документ пакетом "dbms_xmldom"
и зная только название тегов считаю их количество в документе. На этом все!
Вопрос только в том как это реализовать подобный механизм зная только название тегов!?
...
Рейтинг: 0 / 0
29.03.2017, 11:58
    #39429079
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить количество элементов xml документа по его имени
Prog_sql1,

Если для абсолютно произвольной структуры, то делаешь обход с помощью
while not dbms_xmldom.isnull(...) loop + getfirstchild + getnextsibling + etc.
Либо просто regexp_count :)
...
Рейтинг: 0 / 0
29.03.2017, 12:09
    #39429094
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить количество элементов xml документа по его имени
Prog_sql1,

count(//имя)
...
Рейтинг: 0 / 0
29.03.2017, 13:51
    #39429230
Prog_sql1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить количество элементов xml документа по его имени
Методом
while not dbms_xmldom.isnull(...) loop + getfirstchild + getnextsibling + etc
не совсем понятно как это сделать. Так как вложений у меня может быть больше чем 1.
...
Рейтинг: 0 / 0
29.03.2017, 14:01
    #39429242
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить количество элементов xml документа по его имени
Prog_sql1Методом
while not dbms_xmldom.isnull(...) loop + getfirstchild + getnextsibling + etc
не совсем понятно как это сделать. Так как вложений у меня может быть больше чем 1.То есть ты не в состоянии скопировать ключевые слова в гугл и ты хочешь, что я все сделал за тебя?
...
Рейтинг: 0 / 0
29.03.2017, 14:34
    #39429279
Prog_sql1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить количество элементов xml документа по его имени
dbms_photoshop,

Я хочу найти рабочее решение.
На данной момент решение нашел. Всех благодарю за помощь.
Коротко решение такое.
REGEXP_COUNT(dbms_xmldom.getXmlType(domdoc).getClobVal, '<ТутИмяТега>')
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получить количество элементов xml документа по его имени / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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