/** * save as XML * * @param array $arrAttributes * @param string $rootName * @param bool $addOpenTag * @param bool $addCdata * @return string */ public function toXml(array $arrAttributes = [], $rootName = 'entity', $addOpenTag = false, $addCdata = true) { $xml = ''; if ($addOpenTag) { $xml .= '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; } if (!empty($rootName)) { $xml .= '<' . $rootName . '>' . "\n"; } $xml .= parent::toXml($arrAttributes, '', false, $addCdata); $xml .= '<attributes>'; foreach ($this->getAttributes() as $attribute) { $xml .= $attribute->toXml([], 'attribute', false, $addCdata); } $xml .= '</attributes>'; if (!empty($rootName)) { $xml .= '</' . $rootName . '>' . "\n"; } return $xml; }
/** * save as XML * * @param array $arrAttributes * @param string $rootName * @param bool $addOpenTag * @param bool $addCdata * @return string */ public function toXml(array $arrAttributes = [], $rootName = null, $addOpenTag = false, $addCdata = false) { $xml = ''; if ($addOpenTag) { $xml .= '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; } if ($rootName !== false) { $xml .= '<' . $rootName . '>' . "\n"; } $xml .= parent::toXml($arrAttributes, '', false, $addCdata); if ($this->getSettings()) { $xml .= $this->getSettings()->toXml(); } if (count($this->getEntities())) { $entitiesTag = 'entities'; $xml .= '<' . $entitiesTag . '>'; foreach ($this->getEntities() as $entity) { $xml .= $entity->toXml(); } $xml .= '</' . $entitiesTag . '>'; } $relationsTag = 'relations'; $xml .= '<' . $relationsTag . '>'; foreach ($this->getRelations() as $relation) { $xml .= $relation->toXml(); } $xml .= '</' . $relationsTag . '>'; if ($rootName != false) { $xml .= '</' . $rootName . '>' . "\n"; } return $xml; }