XML 要素から空のノードを削除したいと考えています。この xml はベンダーから生成されたものであり、私は xml 生成を制御できません。しかし、XML には空のノードがほとんどないため、それらの空のノードを再帰的に削除する必要があります。
この xml は OMElement から取得され、[XMLUtils][1] サンプル XML を使用してこのオブジェクトから要素を取得します
<A>
<B>
<C>
<C1>
<C11>something</C11>
<C12>something</C12>
</C1>
</C>
<D>
<D1>
<D11>
<D111 operation="create">
<Node>something else</Node>
</D11>
</D11>
</D1>
<D2>
<D21>
</D21>
</D2>
</D>
</B>
</A>
D21 は空のノードであるため、D21 を削除したいのですが、D2 は空のノードであるため、D2 を削除したいのですが、D には D1 があるため、D を削除したくありません。
同様に、私が得ることができる可能性があります
<A>
<B>
<C>
</C>
</B>
</A>
C は空なので、C を削除してから B を削除し、最終的にノードA を削除します。Node で removeChild() メソッドを使用してこれを実行しようとしています。
しかし、これまでのところ、それらを再帰的に削除することはできません。それらを再帰的に削除するための提案はありますか?
ノードとノードの長さを再帰的に取得しようとしています。しかし、ノードの長さは役に立ちません
if(childNode.getChildNodes().getLength() == 0 ){
childNode.getParentNode().removeChild(childNode);
}
よろしく
ディーラジ・ジョシ