public function load($filename) { $site = new Site(); $xml = file_get_contents($filename); $rootNode = new SimpleXMLElement($xml); $site->setName((string) $rootNode['name']); $this->loadContents($rootNode->content, $site); foreach ($rootNode->page as $pageNode) { $page = new Page(); $page->setName((string) $pageNode['name']); $page->setUrl((string) $pageNode['url']); $page->setTemplate((string) $pageNode['template']); $this->loadProperties($pageNode->property, $page); $this->loadContents($pageNode->content, $page); $site->addPage($page); } return $site; }