Как обнаружить, если элемент XML пуст, используя DOMDocument в PHP?

Если я удалю элемент внутри элемента, и если его последний элемент, то родительский элемент будет сокращен до пустого элемента.

Пример:

Начало: <element><child1>Inner HTML</child1><child2>Inner HTML</child2></element>

Я удаляю Child2, и я получаю: <element><child1>Inner HTML</child1></element>

Я удаляю Child1, и я получаю: <element/>

Теперь я хочу, чтобы это не произошло или, по крайней мере, способ определить, является ли элемент пустым, поэтому я могу его заменить. Как это сделать, используя DOMDocument в PHP.

Благодаря…

Solutions Collecting From Web of "Как обнаружить, если элемент XML пуст, используя DOMDocument в PHP?"

Вы должны определить, является ли элемент пустым, проверяя длину списка дочерних узлов :

 $isEmpty = $elem->childNodes->length === 0; 

Обратите внимание, что не только элементы могут быть дочерними узлами другого элемента, но также секциями CDATA , комментариями и простым текстом .

Заимствование из руководства PHP :

 count($elem->children()); 

Итак, чтобы проверить, пусто ли:

 $isEmpty = count($elem->children()) === 0 ? true : false;