2012-05-15 25 views
1

我有兩個節點node1nod2具有不同的父文件,現在我想打電話給不能在一個節點添加到另一個

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> 

現在我想從document2獲得</Desc>節點,並把它<DeviceInfo/>節點在document1我該怎麼辦呢。而我想說的是,node1node2保持我要添加一個到另一個節點,但是當我寫

node1.appendChild(node2); 

我的應用程序崩潰,我想主要的原因是,他們有不同的所有者文件。

+0

http://samir-mangroliya.blogspot.in/看到新聞解析器... –

+0

@SamirMangroliya抱歉,但這篇文章沒有用在我的情況下,我無法找到我的問題的答案。 –

+0

你必須先維護動態數組,首先從兩個文件中獲取數據將其添加到一個動態數組中 –

回答

3

正如您所說,應用程序崩潰的原因是不同的所有者文檔(有關更多詳細信息,請參閱this)。爲了解決這個問題,你應該到文檔導入節點2,如下所示:

n2 = document1.importNode(n2, true); 

然後:關於進口here

n1.appendChild(n2); 

更多信息。

+0

我會檢查並告訴你結果。謝謝 !!! –

+0

非常感謝!這就是我要的 !!! –

相關問題