22 $requestNodes =
$source->getElementsByTagName(
'request');
24 foreach ($requestNodes as $requestNode) {
25 $simpleXmlNode = simplexml_import_dom($requestNode);
27 $name = $requestNode->getAttribute(
'query');
29 $request[
'dimensions'] = $this->convertNodes($simpleXmlNode->dimensions,
'name');
30 $request[
'queries'] = $this->convertNodes($simpleXmlNode->queries,
'name');
31 $request[
'filters'] = $this->convertNodes($simpleXmlNode->filters,
'name');
32 $request[
'aggregations'] = $this->convertNodes($simpleXmlNode->aggregations,
'name');
46 if (isset(
$data[
'@attributes'])) {
48 unset(
$data[
'@attributes']);
60 protected function convertNodes(\SimpleXMLElement $nodes,
$name)
65 foreach ($nodes->children() as $node) {
67 if ($node->count() > 0) {
70 $type = (string)$node->attributes(
'xsi',
true)[
'type'];
101 if ($node->count() == 0) {
104 foreach ($node->children() as $child) {
convertToArray(\SimpleXMLElement $node)
convertChildNodes(array $element, \SimpleXMLElement $node)