とりあえず、今日仕事で詰まったことを書きます。

Document document = まあ、ドキュメントビルダーファクトリーからビルダーつくってnewDocumentだ;
Element imported = document.importNode(record,true);

これでうまくいかなかったorz

<root>
<record>
<key1>keyvalue1</key1>
<key2>keyvalue2<./key2>
</record>
</root>

みたいな感じで(改行は見やすくするためで実際には入りません(TextNodeは存在しないということ)
<record>をインポートしたんだけども
Element parent = documentのどこかにある要素
Node child = imported.getFirstChild();
while(child != null){
parent.appendChild(child);
child = child.getNextSibling();
}

これで

<parent>
<key1>keyvalue1</key1>
</parent>

みたになるんですだよ。

<key2>が消えてる!

importNodeのdepth = trueでだよ?

ありえん!

なんで、しょうがないからインポートする前のElementをまわして1要素ごと
いれましたとさ。。。

めでたし、めでたし。。。

バグかな? プログラムミス?かな?

へっぽこにはわかりませんw