1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <?php
- namespace OSS\Model;
- use OSS\Core\OssException;
- /**
- * Class TaggingConfig
- * @package OSS\Model
- *
- */
- class TaggingConfig implements XmlConfig
- {
- /**
- * TaggingConfig constructor.
- */
- public function __construct()
- {
- $this->tags = array();
- }
- /**
- * Get Tag list
- *
- * @return Tag[]
- */
- public function getTags()
- {
- return $this->tags;
- }
- /**
- * Add a new Tag
- *
- * @param Tag $tag
- * @throws OssException
- */
- public function addTag($tag)
- {
- $this->tags[] = $tag;
- }
- /**
- * Parse TaggingConfig from the xml.
- *
- * @param string $strXml
- * @throws OssException
- * @return null
- */
- public function parseFromXml($strXml)
- {
- $xml = simplexml_load_string($strXml);
- if (!isset($xml->TagSet) || !isset($xml->TagSet->Tag)) return;
- foreach ($xml->TagSet->Tag as $tag) {
- $this->addTag(new Tag($tag->Key, $tag->Value));
- }
- }
- /**
- * Serialize the object into xml string.
- *
- * @return string
- */
- public function serializeToXml()
- {
- $xml = new \SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><Tagging></Tagging>');
- $xmlTagSet = $xml->addChild('TagSet');
- foreach ($this->tags as $tag) {
- $xmlTag = $xmlTagSet->addChild('Tag');
- $xmlTag->addChild('Key', strval($tag->getKey()));
- $xmlTag->addChild('Value', strval($tag->getValue()));
- }
- return $xml->asXML();
- }
- public function __toString()
- {
- return $this->serializeToXml();
- }
- /**
- * Tag list
- *
- * @var Tag[]
- */
- private $tags = array();
- }
|