/** * * Generates a new KalturaFailure from a given SimpleXMLElement * @param SimpleXMLElement $failureXml */ public static function generateFromXml(SimpleXMLElement $failureXml) { $field = (string) $failureXml->Field; $assert = null; $message = null; if (isset($failureXml->Assert)) { $assert = $failureXml->Assert; } if (isset($failureXml->Message)) { $message = $failureXml->Message; } //If we have an array if (isset($failureXml->ActualOutput->Array)) { $actualValue = KalturaFailure::getArrayValueFromXML($failureXml->ActualOutput->Array); } else { //Convert the simleXMl into string $actualValue = (string) $failureXml->ActualOutput; //No string was given if (strlen($actualValue) == 0) { $actualValue = null; } } if (isset($failureXml->OutputReference->Array)) { $outputReferenceValue = KalturaFailure::getArrayValueFromXML($failureXml->OutputReference->Array); } else { $outputReferenceValue = (string) $failureXml->OutputReference; //No string was given if (strlen($outputReferenceValue) == 0) { $outputReferenceValue = null; } } $kalturaFailure = new KalturaFailure($field, $actualValue, $outputReferenceValue, $assert, $message); return $kalturaFailure; }