парсинг сайтів
Зараз ми з вами вивчимо роботу з XML. XML - це формат для обміну даними між сайтами. Він дуже схожий на HTML, тільки в XML дозволені свої теги і атрибути.
Навіщо потрібен XML при парсінгу? Іноді буває так, що сайт, який вам потрібно Спарс, має API, за допомогою якого можна отримати бажане, особливо не напружуючись. Тому відразу порада - перед тим, як парсити сайт, перевірте, чи немає у нього API.
Що таке API? Це набір функцій, за допомогою яких ви можете надсилати запит цьому сайту і отримувати потрібну відповідь. Ось ця відповідь найчастіше приходить в форматі XML. Тому давайте приступимо до його вивчення.
Робота з XML в PHP
Нехай у вас є XML. Він може бути в рядку, або зберігається в файлі або віддаватися за запитом до певного URL.
Нехай XML зберігається в рядку. В цьому випадку з цього рядка потрібно створити об'єкт за допомогою new SimpleXMLElement.
Зараз у нас в змінній $ xml зберігається об'єкт з розібраним XML. Звертаючись до властивостей цього об'єкта можна отримувати доступ з вмісту тегів XML. Як саме - розберемо трохи нижче.
Якщо ж XML зберігається в файлі або віддається за зверненням до URL (що найчастіше і буває), то слід використовувати функцію simplexml_load_file. яка робить той же об'єкт $ xml.
прийоми роботи
У прикладах нижче наш XML зберігається в файлі або по URL.
Нехай дано наступний XML:
Давайте отримаємо ім'я, вік і зарплату працівника:
Як ви бачите, у об'єкта $ xml є властивості, відповідні тегам.
Ви може звернули увагу, що тег
Кореневої тег в XML може бути тільки один, так само, як і тег в звичайному HTML.
Давайте трохи модифікуємо наш XML:
В цьому випадку у нас вийде ланцюжок звернень: