Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Не протестированный, но что относительно:
$elements = $dom->getElementsByTagName('foo');
$data = array();
foreach($elements as $node){
foreach($node->childNodes as $child) {
$data[] = array($child->nodeName => $child->nodeValue);
}
}
Обычно намного лучше использовать XPath для запросов документа, чем это должно написать код, который зависит от знания структуры документа. Существует две причины. Во-первых, существует намного меньше кода, чтобы протестировать и отладить. Во-вторых, если структура документа изменяется, намного легче изменить запрос XPath, чем это должно изменить набор кода.
, Конечно, необходимо изучить XPath, но (большая часть) XPath не является аэрокосмическими исследованиями.
DOM PHP использует xpath_eval
метод для выполнения запросов XPath. Это зарегистрировало здесь , и пользовательские примечания включают некоторые довольно хорошие примеры.
Вот другой (ленивый) способ сделать это.
$data[][$node->nodeName] = $node->nodeValue;