Простой интерфейс для парсера examp принимает токены и создает на их основе объекты, попутно структурируя их в подобие DOM дерева. Так же данный интерфейс реализует методы для работы с деревом элементов:
- Все дерево объектов и каждый отдельный узел- итерируемы, т.е. их можно перебрать обычным
foreach
foreach($catalog->Товары->Товар as $product) { }
- Доступ к объектам осуществляется через оператор
->
$xmlstructure->КоммерческаяИнформация->Каталог->Товары->Товар[13]->Ид
$catalog = $xmlstructure->КоммерческаяИнформация->Каталог
- В дерево элементов можно добавлять узлы. Удалять их нельзя, на этот метод не хватило бюджета)
- Если вызвать элемент как строку, он вернет своё содержимое. Содержимое можно только получить, никакого редактирования.
print($product->Наименование);
- Аттрибуты элементов можно вызывать как значения массива, таким же образом их можно редактировать, удалять или добавлять.
$xmlstructure->КоммерческаяИнформация->Каталог['СодержитТолькоИзменения']
$xmlstructure->КоммерческаяИнформация->Каталог->Товары->Товар[13][0]
На php написать класс с реализацией методов по парсингу xml-файла с товарами в структуру данных любого вида - массив, массив объектов - на ваше усмотрение. Написать скрипт, демонстрирующий работу этого класса. Xml-файл доступен по ссылке