Поиск всех пустых узлов DOM - PullRequest
2 голосов
/ 31 июля 2011

Можно ли идентифицировать узел DOM, если он пуст, используя только xPath?

Например, любой узел, подобный так:

<div></div>

Я надеюсь сделать только length на возвращаемых узлах xPath, например, так:

$doc = new DOMDocument();

$doc->loadHTML($html);

$xpath = new DOMXPath($doc);

$xpath_rule = "XPATH";

$returned_nodes = $xpath->query($xpath_rule);

if($returned_nodes->length > 0){ // it is not empty

Если это невозможно сделать с помощью xPath, как я могу сделать это эффективно, обходя все дерево DOM?

PHP5 поддерживает только xPath 1.0.

1 Ответ

3 голосов
/ 31 июля 2011

Это выражение XPath соответствует всем элементам без дочерних элементов или содержит только пробелы:

//*[not(*) and not(normalize-space(.))]
...