Разработать статический класс для преобразования приведенного ниже xml документа в объект класса Company, содержащий список (использовать контейнер List) объектов класса Staff. Количество объектов Staff в списке не ограничено. Классы Staff и Company разработать самостоятельно.

Приложения:

Ответы

Ответ дал: wherethefux
2

<?php

class Staff

{

public $id;

public $firstname;

public $lastname;

public $nickname;

public $salary;

public function __construct($id, $firstname, $lastname, $nickname, $salary)

{

$this->id = $id;

$this->firstname = $firstname;

$this->lastname = $lastname;

$this->nickname = $nickname;

$this->salary = $salary;

}

}

class Company

{

public $staff;

public function __construct($staff)

{

$this->staff = $staff;

}

}

class XMLParser

{

public static function parse($xmlString)

{

$dom = new DOMDocument();

$dom->loadXML($xmlString);

$staff = $dom->getElementsByTagName('staff');

$staffArray = array();

foreach ($staff as $item) {

$id = $item->getAttribute('id');

$firstname = $item->getElementsByTagName('firstname')->item(0)->nodeValue;

$lastname = $item->getElementsByTagName('lastname')->item(0)->nodeValue;

$nickname = $item->getElementsByTagName('nickname')->item(0)->nodeValue;

$salary = $item->getElementsByTagName('salary')->item(0)->nodeValue;

$staffArray[] = new Staff($id, $firstname, $lastname, $nickname, $salary);

}

return new Company($staffArray);

}

}

$xmlString = file_get_contents('xml.xml');

$company = XMLParser::parse($xmlString);

var_dump($company);

?>


yurabrodzinskyy: wherethefux,можеш помоч плиз?? https://znanija.com/task/50609810
Вас заинтересует