/** * Return the XML code that represent struct native MXL-RPC value * * @return string */ public function saveXML() { if (!$this->_as_xml) { // The XML code was not calculated yet $generator = $this->getGenerator(); // assemble envelope $element = new Polycast_XmlRpc_Generator_Element('value', array($struct = new Polycast_XmlRpc_Generator_Element('struct'))); // assemble members if (is_array($this->_value)) { foreach ($this->_value as $name => $val) { /* @var $val Polycast_XmlRpc_Value */ $struct->appendChild(new Polycast_XmlRpc_Generator_Element('member', array(new Polycast_XmlRpc_Generator_Element('name', array($name)), $val))); } } $this->_as_xml = $this->_stripXmlDeclaration($generator->generateXml($element)); } return $this->_as_xml; }
/** * Create XML request * * @return string */ public function saveXML() { $args = $this->_getXmlRpcParams(); $method = $this->getMethod(); $generator = Polycast_XmlRpc_Value::getGenerator(); $element = new Polycast_XmlRpc_Generator_Element('methodCall', array(new Polycast_XmlRpc_Generator_Element('methodName', array($method)))); if (is_array($args) && count($args)) { $params = new Polycast_XmlRpc_Generator_Element('params'); $element->appendChild($params); foreach ($args as $arg) { /* @var $arg Polycast_XmlRpc_Value */ $params->appendChild(new Polycast_XmlRpc_Generator_Element('param', array($arg))); } } return $generator->generateXml($element); }