Не могу добавить один узел к другому

1

У меня есть два node1 и nod2 которых есть разные родительские документы, теперь я хочу позвонить

node1.appendChild(node2);

функция для этих узлов, но мое приложение выходит из строя, ниже вы можете увидеть документы владельца и XML-узлы узлов.

Document document1 = node1.getOwnerDocument();
Document document2 = node2.getOwnerDocument();

Оба узла имеют разные документы владельца. документ владельца node1 описанный ниже

<?xml version="1.0" encoding="UTF-8"?>
<ClientGetOTPSeedMessage>
    <UserID>userID</UserID>
    <DeviceInfo/>
</ClientGetOTPSeedMessage>

и документ владельца node2:

<?xml version="1.0" encoding="UTF-8"?>
<Desc>
    <Desc1>First name</Desc1>
    <Desc2>Second name</Desc2>
</Desc>

Теперь я хочу получить узел </Desc> из document2 и поместить его в узел <DeviceInfo/> в document1 как я могу это сделать. И я хочу сказать, что node1 и node2 поддерживают узлы, которые я хочу добавить друг другу, но когда я пишу

node1.appendChild(node2); 

мое приложение падает, я думаю, главная причина в том, что у них разные документы владельца.

  • 0
    samir-mangroliya.blogspot.in посмотреть парсер новостей ...
  • 0
    @SamirMangroliya извините, но эта статья бесполезна в моем случае, я не могу найти ответ на свой вопрос.
Показать ещё 3 комментария
Теги:
nodes

1 ответ

3
Лучший ответ

Причина, по которой происходит сбой приложения, - это, как вы сказали, разные документы владельца (см. Это для более подробной информации). Чтобы решить проблему, вы должны импортировать node2 в document1, например:

n2 = document1.importNode(n2, true);

а потом:

 n1.appendChild(n2);

Подробнее об импорте здесь.

  • 0
    Я проверю и скажу вам результат. Спасибо !!!
  • 0
    Большое спасибо ! Это то, что я хочу !!!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню