Парсинг XML и приведение данных к нужной структуре (PHP)
КРАТКОЕ ОПИСАНИЕ
Учебный план – это информация о том, кому, какая дисциплина и когда читается. Есть набор XML файлов, которые составляют учебный план студентов. Каждый файл соответствует одной специальности (профилю) обучения. Требуется реструктрировать данные и сформировать многомерный PHP массив, в котором данные XML файлов будут сгруппированы по дисциплинам Т.е. для каждой дисциплины будет указываться, когда и кому и когда (семестр) она читается.
ПОЛНОЕ ОПИСАНИЕ
1. В приложении пример XML . Файл открывается программой Планы. (свободно доступна по адресу: mmis.ru/Portals/0/Downloa... Теоретически существует возможность запросить у разработчиков документацию на формат, но, в целом формат читается интуитивно.
2. Требуется дополнить метод parse_plx() (получает в качестве аргумента пути к XML файлам) класса ji_plany, чтобы он возвращал PHP массив, описанный в файле ji_plany
ОСОБЕННОСТИ ЗАДАЧИ
1. Во всех случаях нужно искать ID и опираться при идентификации дисциплин и кафедр на ID
2. Одинаковой дисциплиной может считаться дисциплина с одинаковым названием (ID) и одинаковой кафедрой.
3. Придётся вдумываться в то, что такое учебный план. Формальным переливанием данных не обойтись.
4. Задача должна быть решена качественно, без избыточных циклов, с читаемым кодом.
5. Задача требует не столько блестящих навыков программирования, сколько аналитического мышления и способности разбираться в новой предметной области.
6. Отдельные элементы схемы могут отсутствовать. Это нормально. Если исполнителю кажется, что из учебного плана нельзя получить какой-то элемент выходного формата, он должен об этом сообщить.
7. Цена работы завышена, так как требуется качественное исполнение в срок с первого раза.
8. Файл common_rules.doc является неотъемлемой частью контракта.
ПРЕДСТАВЛЕНИЕ РЕЗУЛЬТАТОВ
1. Результат – файл ji_plany.php с дополненным кодом метода parse_plx(). Исполнитель может создавать любое количество private методов в классе.
УСЛОВИЯ
1. Исполнитель должен быть готов к голосовой связи по Skype в согласованное заранее и удобное для него время.
2. Тип договора – только безопасная сделка (СБР).
3. Срок – 5 календарных дней. Сроки жесткие, переносу не подлежат. Срок на проверку результатов заказчиком – 5 дней.
PS
Пожалуйста, начните заявку на выполнение задачи фразой «Я всегда читаю ТЗ до конца». Есть большой интерес к длительному сотрудничеству с профессиональным программистом.