Я хочу удалить пустые узлы из элемента XML. Этот xml генерируется поставщиком, и я не могу контролировать генерацию xml. Но поскольку в XML мало пустых узлов, мне нужно рекурсивно удалить эти пустые узлы.
Этот xml получен из OMElement, и я получаю элемент из этого объекта, используя [XMLUtils][1] Sample 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. Я пытаюсь сделать это с помощью метода removeChild() в Узел
Но пока я не могу удалить их рекурсивно. Любые предложения по их рекурсивному удалению?
Я рекурсивно пытаюсь получить длину узла и узла. Но длина узла не помогает
if(childNode.getChildNodes().getLength() == 0 ){
childNode.getParentNode().removeChild(childNode);
}
С уважением
Дирадж Джоши