java - 无法将一个节点添加到另一个节点

标签 java android xml nodes

我有两个节点 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>

现在我想得到</Desc>来自 document2 的节点并把它放到<DeviceInfo/> document1 中的节点我该怎么做。我想说 node1node2保留我想要添加到另一个的节点,但是当我写

node1.appendChild(node2); 

我的应用程序崩溃了,我想主要原因是他们有不同的所有者文档。

最佳答案

正如您所说,应用程序崩溃的原因是不同的所有者文档(有关更多详细信息,请参见 this)。要解决这个问题,您应该在 document1 中导入 node2,如下所示:

n2 = document1.importNode(n2, true);

然后:

 n1.appendChild(n2);

有关导入的更多信息 here .

关于java - 无法将一个节点添加到另一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10603358/

相关文章:

java - 无法启动 Weblogic 10.3

java - Hibernate 实体中的复杂关系

android - 如何从 gradle 依赖中获取 .AAR 文件?

c# - 从具有特定名称属性的父级获取裸体

java - Android中如何做轮播动画?

JavaFX BarChart 实现 - 为什么使用 StackPanes 作为条形图?

xml - 在子节点中使用 apply-template 和字符串操作进行新手转换

android - 如何将静态字符串与 XML 字符串资源连接起来?

android - 影子不工作 "Android"

android - 约束布局 : Unable to scale image to fit a ratio in RecyclerView