如何将xml节点拆分为单独的节点?

时间:2014-04-18 05:03:41

标签: java xml dom

我有一个XML,

<bank>
     <employee>
              <name>ABC</name>
              <ID>123</ID>
     </employee>
     <employee>
              <name>DEF</name>
              <ID>123</ID>
     </employee>
</bank>

我想基于标记将XML拆分为两个独立的节点,即每个<name>都是唯一的,XML应该被拆分为

<bank>
         <employee>
                  <name>ABC</name>
                  <ID>123</ID>
         </employee>
</bank>
<bank>
         <employee>
                  <name>DEF</name>
                  <ID>123</ID>
         </employee>
</bank>

如何在使用java的DOM解析器中完成?请帮帮我。

1 个答案:

答案 0 :(得分:0)

那么,您将在XML中拥有多个根节点,标准不允许这样做。

public static void transform(Element bankNode, Element targetNode) {
    NodeList employees = bankNode.getChildNodes();

    for (int i = 0; i < employees.getLength(); i++) {
        Element newBankNode = targetNode.getOwnerDocument().createElement(bankNode.getNodeName());
        targetNode.appendChild(newBankNode);

        newBankNode.appendChild(targetNode.getOwnerDocument().importNode(employees.item(i), true));
    }
}