Compruebe si el nodo xml existe en PHP [duplicado]

Esta pregunta ya tiene una respuesta aquí:

php SimpleXML verifica si existe un hijo 15 respuestas

Tengo este objeto de resultado simplexml:

 object(SimpleXMLElement)#207 (2) {
  ["@attributes"]=>
  array(1) {
   ["version"]=>
   string(1) "1"
  }
  ["weather"]=>
  object(SimpleXMLElement)#206 (2) {
   ["@attributes"]=>
   array(1) {
   ["section"]=>
   string(1) "0"
  }
  ["problem_cause"]=>
  object(SimpleXMLElement)#94 (1) {
   ["@attributes"]=>
   array(1) {
   ["data"]=>
   string(0) ""
   }
  }
  }
 }

Necesito verificar si el nodo "problema_causa" existe. Incluso si está vacío, el resultado es un error. En el manual de PHP, encontré este código PHP que modifiqué para mis necesidades:

 function xml_child_exists($xml, $childpath)
 {
    $result = $xml->xpath($childpath);
    if (count($result)) {
        return true;
    } else {
        return false;
    }
 }

 if(xml_child_exists($xml, 'THE_PATH')) //error
 {
  return false;
 }
 return $xml;

No tengo idea de qué poner en lugar de la consulta xpath 'THE_PATH' para verificar si el nodo existe. ¿O es mejor convertir el objeto simplexml a dom?

Respuestas a la pregunta(4)

Su respuesta a la pregunta