public function WSDecoderXML::decode in Web Service Data 2.0.x
Same name and namespace in other branches
- 8 src/Plugin/WSDecoder/WSDecoderXML.php \Drupal\wsdata\Plugin\WSDecoder\WSDecoderXML::decode()
Decode the web service response string.
Overrides WSDecoderBase::decode
File
- src/
Plugin/ WSDecoder/ WSDecoderXML.php, line 22
Class
- WSDecoderXML
- XML Decoder.
Namespace
Drupal\wsdata\Plugin\WSDecoderCode
public function decode($data) {
if (!isset($data) || empty($data)) {
return;
}
$data = trim($data);
libxml_use_internal_errors(TRUE);
try {
$data = new \SimpleXMLElement($data);
if ($data
->count() == 0) {
return [
$data
->getName() => $data
->__toString(),
];
}
$data = get_object_vars($data);
foreach ($data as $key => $value) {
$data[$key] = $this
->decodeXml($value);
}
} catch (exception $e) {
return FALSE;
}
libxml_use_internal_errors(FALSE);
return $data;
}