Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как скопировать детей из узла _di_IXMLNode

249
04 апреля 2007 года
DissDoc
639 / / 01.10.2004
Как правильно скопировать детей у узла! Вот мой код
Код:
_di_IXMLNode ixml_parent; // Определен. В нем есть дети
_di_IXMLNode IXML_GET_NODE; // тоже есть дети и определен

for (int i = 0; i < IXML_GET_NODE->ChildNodes->Count; i++)
{
  _di_IXMLNode di = IXML_GET_NODE->ChildNodes->Nodes;
  _di_IXMLNode child_node = ixml_parent->AddChild(WideString("test"));
  for (int j = 0; j < di->AttributeNodes->Count; j++)
  {
    _di_IXMLNode attr = di->AttributeNodes->Nodes[j];
    if (attr->HasChildNodes)
    {
      child_node->SetAttribute(WideString("id"), WideString(attr->NodeValue));
      child_node->SetAttribute(WideString("itName"), WideString(attr->NodeValue));
     }
  }

Беда в том. что у меня не копируется. А получается что вырезается и вставляется (( как именно скопировать детей из одного узла в другой?
249
05 апреля 2007 года
DissDoc
639 / / 01.10.2004
Меняем вопрос. Вопрос такой - как мне скопировать узел _di_IXMLNode?
92
06 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
[quote="Borland C++Builder Help"]
IXMLNode::CloneNode
Creates a copy of this node and returns its interface.
[/quote]

например есть у нас уже SomeNode и в неё есть потомки
 
Код:
_di_IXMLNode temp;

temp = SomeNode->CloneNode();


и всё, ты скопировал элемент с потомками вместе.
249
07 апреля 2007 года
DissDoc
639 / / 01.10.2004
Спасибо большое. Я весь хелп перерыл, а на клонирование как-то внимания не обращал! Как оказалось - все гораздо проще.
92
09 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
пользуй на здоровье :)
249
09 апреля 2007 года
DissDoc
639 / / 01.10.2004
Неа, все равно не работает ((( Делаю вот так
 
Код:
_di_IXMLNode clone_node; // в нем содержаться узлы и аттрибуты
IXML_GET_NODE = clone_node->CloneNode(true);

// потом
for (int i = 0; i < IXML_GET_NODE->ChildNodes->Count; i++)
    {
        _di_IXMLNode some_node = IXML_GET_NODE->ChildNodes->Nodes;
        ixml_parent->ChildNodes->Add(some_node);
    }


В clone_node - все узлы удалились (((
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог