/** * Converts an XML string into a multidimensional array * * @param string $xml * @return array */ public static function arrayFromXml($xml) { $document = new DOMDocument('1.0', 'UTF-8'); $document->loadXML($xml); $root = $document->documentElement->nodeName; return Braintree_Util::delimiterToCamelCaseArray(array($root => self::_nodeToValue($document->childNodes->item(0)))); }
public function put($path, $params = null) { $body = http_build_query(Braintree_Util::camelCaseToDelimiterArray($params, '_')); $response = $this->_doRequest('PUT', $path, $body); $responseCode = $response['status']; if ($responseCode === 200 || $responseCode === 201 || $responseCode === 422 || $responseCode === 400) { return Braintree_Util::delimiterToCamelCaseArray(json_decode($response['body'], true), '_'); } else { Braintree_Util::throwStatusCodeException($responseCode); } }
/** * sets up the SimpleXMLIterator and starts the parsing * @access public * @param string $xml * @return array array mapped to the passed xml */ public static function arrayFromXml($xml) { // SimpleXML provides the root information on construct $iterator = new SimpleXMLIterator($xml); $xmlRoot = $iterator->getName(); $type = $iterator->attributes()->type; self::$_xmlRoot = $iterator->getName(); self::$_responseType = $type; // return the mapped array with the root element as the header $array = array($xmlRoot => self::_iteratorToArray($iterator)); return Braintree_Util::delimiterToCamelCaseArray($array); }