Extended SimpleXMLElement:<?phpclass XmlElement extends \SimpleXMLElement{    public static function factory(string $root): self    {        return new static('<?xml version="1.0" encoding="UTF-8"?><'.$root.'/>', LIBXML_BIGLINES | LIBXML_COMPACT);    }    public function addAttributes(iterable $attributes)    {        foreach ($attributes as $name => $value) {            $this->addAttribute($name, $value);        }        return $this;    }    public function addChild($name, $valueOrAttributes = null, $namespace = null)    {        if (is_array($valueOrAttributes)) {            $child = parent::addChild($name, null, $namespace);            foreach ($valueOrAttributes as $name => $value) {                $child->addAttribute($name, $value);            }        } else {            $child = parent::addChild($name, $valueOrAttributes, $namespace);        }        return $child;    }    public function addChilds(iterable $childs)    {        foreach ($childs as $name => $value) {            $this->addChild($name, $value);        }        return $this;    }}?>