Nuestros mejores investigadores han agotado sus reservas de café, en su búsqueda todo el tiempo por la resolución, hasta que David halló el hallazgo en GitHub así que en este momento la comparte aquí.
Solución:
Parece que un isset() simple resuelve este problema.
');
// var_dump($s) produces the same output as in the question, except for the object id numbers.
echo isset($s->problem_cause) ? '+' : '-';
$s = new SimpleXMLElement('
');
echo isset($s->problem_cause) ? '+' : '-';
huellas dactilares +-
sin ningún mensaje de error/advertencia.
Usando el código que había publicado, este ejemplo debería funcionar para encontrar el nodo problem_cause en cualquier profundidad.
function xml_child_exists($xml, $childpath)
$result = $xml->xpath($childpath);
return (bool) (count($result));
if(xml_child_exists($xml, '//problem_cause'))
echo 'found';
else
echo 'not found';
Aquí tienes las comentarios y puntuaciones
No se te olvide dar visibilidad a este ensayo si lograste el éxito.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)