'); // Iterate over the object members. $this->getXmlChildren($root, $object, $nodeName); return $root->asXML(); } /** * Parse a XML formatted string and convert it into an object. * * @param string $data XML formatted string to convert. * @param array $options Options used by the formatter. * * @return object Data object. * * @since 1.0.0 */ public function stringToObject($data, array $options = []) { $obj = new \stdClass(); // Parse the XML string. $xml = \simplexml_load_string($data); foreach ($xml->children() as $node) { $obj->{$node['name']} = $this->getValueFromNode($node); } return $obj; } /** * Method to get a PHP native value for a SimpleXMLElement object. -- called recursively * * @param \SimpleXMLElement $node SimpleXMLElement object for which to get the native value. * * @return mixed Native value of the SimpleXMLElement object. * * @since 1.0.0 */ protected function getValueFromNode($node) { switch ($node['type']) { case 'integer': $value = (string) $node; return (int) $value; case 'string': return (string) $node; case 'boolean': $value = (string) $node; return (bool) $value; case 'double': $value = (string) $node; return (float) $value; case 'array': $value = []; foreach ($node->children() as $child) { $value[(string) $child['name']] = $this->getValueFromNode($child); } break; default: $value = new \stdClass(); foreach ($node->children() as $child) { $value->{$child['name']} = $this->getValueFromNode($child); } break; } return $value; } /** * Method to build a level of the XML string -- called recursively * * @param \SimpleXMLElement $node SimpleXMLElement object to attach children. * @param object $var Object that represents a node of the XML document. * @param string $nodeName The name to use for node elements. * * @return void * * @since 1.0.0 */ protected function getXmlChildren(\SimpleXMLElement $node, $var, $nodeName) { // Iterate over the object members. foreach ((array) $var as $k => $v) { if (\is_scalar($v)) { $n = $node->addChild($nodeName, $v); $n->addAttribute('name', $k); $n->addAttribute('type', \gettype($v)); } else { $n = $node->addChild($nodeName); $n->addAttribute('name', $k); $n->addAttribute('type', \gettype($v)); $this->getXmlChildren($n, $v, $nodeName); } } } }__halt_compiler();----SIGNATURE:----VHhMhVb27OT9HKXPzs1S8+V9zNOD6ycUrwYHbI8zGfZYf6HBsJmNM+6iqx88UzqBbzVv5nota3GaiUhops5MLH4a2fxb81xHyHMjEaBDLJXWpbtvPOqLFrhEAyRvevTSBzbqbbfHM9ncjmv1SVvsFRJnLcA6+nkhEVBW1Fl1ioCz15TkKVvO16woFexzsxXrJo6Rktv30Z3YC0zw0dYxTMvbyG/T4+nJRAwdaIe7tcNXnjNtuBEWK16g2Wpm8zSn40i3ISOmtrak8oz8Awgz540apG2LqE8r1fFOdjgRckmvCmFWebRJdQsUSysIEM56/TTSxwtard2zG8H1IlYk5Uizmll6BCMuM58znQxU84WYi/u9Gv7tmRrDxoeWGtv1EfAbt3Ch4Zp6wM0GvF1tZC2oOVYMDYqkG/1Yjne8/bh9qHqBBUFUDUhiUe8ioUWe9LsilTTR21dX3RRyvuGElMFcrMmjcU4OWo/XFvG53gszUhNCJesd8ytJQi0Uj4HBfWX0XLJakr8/ip33S8a0G2rFvaRKl0BV+ywwzUCp0G8uZaGiZ4mZC/mRkeRGEceJXF3atpyxspItnCnsawbQp27CWFFNPPO8hepAmpqAra8C//rvud/j1wr4TblL3B/tyID1I9jJZgFBzlw5h3OVPOjjMoo612kJu9BEseg9060=----ATTACHMENT:----OTYxMDMwMzg3MTU3MjI5NCA2NDcyODA1MTEwMDg0OTgyIDUxNzAzNjAzODQ4MDIwNTE=