Как определить, что элемент XML пуст, используя DOMDocument в PHP? - PullRequest
2 голосов
/ 29 декабря 2011

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

Пример:

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

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

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

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

Спасибо ...

Ответы [ 2 ]

2 голосов
/ 03 марта 2013

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

count($elem->children());

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

$isEmpty = count($elem->children()) === 0 ? true : false;
2 голосов
/ 29 декабря 2011

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

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

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

...