powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / DOM: Добавление к узлу дочернего многоуровнего узла
5 сообщений из 5, страница 1 из 1
DOM: Добавление к узлу дочернего многоуровнего узла
    #34281435
_spy_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некоторая DOM-модель документа. Нужно к одному из его узлов добавить узел типа

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<Activity id="12345" Name="NewActiv">
   <ActivityProps>
	<Name/>
	<DefinitionString/>
	<StatusString>WORKING</PMStatusString>
	<Author/>
	<OverrideCostsFlag> 0 </PMOverrideCostsFlag>
	<ParentActivityRef> 0 </PMParentActivityRef>
   </ActivityProps>
</Activity>
Я делаю так:

Код: plaintext
1.
2.
3.
4.
5.
  l_parser := xmlparser.newParser;
  xmlparser.parseBuffer (l_parser, v_text);
  l_xmldoc := xmlparser.getDocument (l_parser);
  v_element:=xmlDOM.getDocumentElement(l_xmldoc);
  v_node2:=xmlDOM.makeNode(v_element);
  v_node:=xmldom.appendChild(v_node, v_node2);
(Код на языке PL\SQL)
где v_text - xml-текст вышеприведенного узла, v_node - узел документа, к которому требуется добавить данный узел (дочерних узлов он не имеет, тип узла - ELEMENT_NODE).
В результате получаю исключение.
Вопрос: что я делаю не так, можно ли с помощью appendChild() добалять сложные узлы или узел обязательно должен быть типа TEXT?
...
Рейтинг: 0 / 0
DOM: Добавление к узлу дочернего многоуровнего узла
    #34281686
TiG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_spy_
В результате получаю исключение.


Что пишет ?
...
Рейтинг: 0 / 0
DOM: Добавление к узлу дочернего многоуровнего узла
    #34281727
_spy_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я работаю через стандартную оракловскую обертку, поэтому оригинальный текст исключения не могу увидеть - Оракл говорит просто, что unhandled exception
...
Рейтинг: 0 / 0
DOM: Добавление к узлу дочернего многоуровнего узла
    #34281755
_spy_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае простого элемента все проходит:

Код: plaintext
1.
2.
3.
4.
5.
  v_element:=xmldom.createElement(p_model, 'NewElement');
  xmldom.setAttribute (v_element, 'type',  'text');					       
  xmldom.setAttribute (v_element, 'name',  'aaaa');
  xmldom.setAttribute (v_element, 'value', 'bbbb');	  	
  v_node2:=xmlDOM.makeNode(v_element);      
  v_node:=xmldom.appendChild(v_node, v_node2);
Но мне нужно добавлять сложные многоуровневые узлы, не хочется самому по элементно их добавлять, хотелось бы конечно иметь возможность добавления узла вместе со всеми дочерними.
...
Рейтинг: 0 / 0
DOM: Добавление к узлу дочернего многоуровнего узла
    #34281848
_spy_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решена.
Нужно использовать метод ImportNode() (кстати почему-то не описанного в PL/SQL DOM API для Oracle 9.2) для импорта узла из другого документа, а затем уже вызывать AppendChild()
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / DOM: Добавление к узлу дочернего многоуровнего узла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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