powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / appendchildxml и namesplace
1 сообщений из 1, страница 1 из 1
appendchildxml и namesplace
    #39765689
lj0lik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется xml:
Код: xml
1.
2.
3.
4.
5.
<container attr1="val1" xmlns="ns1">
	<book attr2="val_1"/>
	<book attr2="val_2"/>
	<book attr2="val_N"/>
</container>



В результате разбора в цикле с использованием xmltable получаю (здесь и далее пример для первой итерации):
Код: xml
1.
2.
3.
<container attr1="val1" xmlns="ns1"/>

<book attr2="val_1"  xmlns="ns1"/>



Какие-то значения атрибутов нужно сохранить, а также нужно сохранить для book исходный xml, оставив в нем только один, обрабатываемый на данной итерации, book. Т.е., по сути, нужно смержить xml с book с xml с container:
Код: xml
1.
2.
3.
<container attr1="val1" xmlns="ns1">
	<book attr2="val_1"/>
</container>



Использую для этого
Код: sql
1.
2.
3.
4.
SELECT appendchildxml(xmltype('<container attr1="val1" xmlns="ns1"/>'), 
                      '/container', 
                      xmltype('<book attr2="val_1"  xmlns="ns1"/>'), 
                      'xmlns="ns1"')



На выходе -
Код: xml
1.
2.
3.
<container attr1="val1" xmlns="ns1">
  <book attr2="val_1" xmlns="ns1"/>
</container>



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


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