Skip to content

Qsppl/PHP-XML_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP-XML_parser

Простой интерфейс для парсера examp принимает токены и создает на их основе объекты, попутно структурируя их в подобие DOM дерева. Так же данный интерфейс реализует методы для работы с деревом элементов:

  1. Все дерево объектов и каждый отдельный узел- итерируемы, т.е. их можно перебрать обычным foreach

foreach($catalog->Товары->Товар as $product) { }

  1. Доступ к объектам осуществляется через оператор ->

$xmlstructure->КоммерческаяИнформация->Каталог->Товары->Товар[13]->Ид

$catalog = $xmlstructure->КоммерческаяИнформация->Каталог

  1. В дерево элементов можно добавлять узлы. Удалять их нельзя, на этот метод не хватило бюджета)
  2. Если вызвать элемент как строку, он вернет своё содержимое. Содержимое можно только получить, никакого редактирования. print($product->Наименование);
  3. Аттрибуты элементов можно вызывать как значения массива, таким же образом их можно редактировать, удалять или добавлять.

$xmlstructure->КоммерческаяИнформация->Каталог['СодержитТолькоИзменения']

$xmlstructure->КоммерческаяИнформация->Каталог->Товары->Товар[13][0]

Описание тестового задания

На php написать класс с реализацией методов по парсингу xml-файла с товарами в структуру данных любого вида - массив, массив объектов - на ваше усмотрение. Написать скрипт, демонстрирующий работу этого класса. Xml-файл доступен по ссылке

скрипт демонстрирующий работу класса находиться в main.php image