Note that "if (! $sxe) {" may give you a false-negative if the XML document was empty (e.g. "<root />"). In that case, $sxe will be:object(SimpleXMLElement)#1 (0) {}which will evaluate to false, even though nothing technically went wrong.Consider instead: "if ($sxe === false) {"