0

这是我的问题:

我有一个解析为 DOM 的源 XML 文件。我还得到了一个 XML 片段(例如:)<a>text1<b/></a>。片段的“根”元素将始终与源 DOM 中的元素(同名)匹配。我可以用这个替换 DOM 的节点吗?

首先,我想到的是将字符串片段解析为 DOM。然后,我尝试使用replaceChild()方法,但要么我使用不正确,要么它只能应用于同一个 DOM 中已经存在的节点。那么有人可以展示我如何实现这一目标吗?

4

2 回答 2

2

您可能需要先调用 getParentNode(),然后对已有的父节点调用 replaceChild()。

于 2013-02-20T00:37:49.230 回答
0
//Importing template node to the target document(this solves wrong_DOCUMENT_ERR:)   
Node importedTemplateChildNode = targetDoc.importNode(templateChildNode, true);

// Replace target child node with the template node
targetParentNode.replaceChild(importedTemplateChildNode, targetChildnode);       

Transformer tranFac = TransformerFactory.newInstance().newTransformer();
tranFac.transform(new DOMSource(targetDoc), new StreamResult(new FileWriter(targetXmlFile))); 
于 2016-08-11T18:15:54.433 回答