Чтение XML

Вывести свойства

На примере ниже есть XML-код, в котором надо получить свойства объекта <lang>.

<?xml version='1.0' standalone='yes'?>
<langs>
    <lang>
        <title>PHP</title>
        <version>7.4.3</version>
    </lang>
</langs>

Свойства XML можно получить также, как и свойства объекта.

$xml = simplexml_load_file('file.xml');

(string)$xml->lang->title;   // PHP
(string)$xml->lang->version; // 7.4.3

Если в свойстве содержатся символы тире «-», то вывод свойства происходит следующим образом:

(string)$xml->lang->{'author-name'};

Вывести атрибуты

На примере ниже в XML есть атрибут «fullname».

<?xml version='1.0' standalone='yes'?>
<langs>
    <lang>
        <title fullname="PHP: Hypertext Preprocessor">PHP</title>
    </lang>
</langs>

Вывести его можно как элемент массива:

$xml = simplexml_load_file('file.xml');

(string)$xml->language->title['fullname']; // PHP: Hypertext Preprocessor

Вывести элементы

На примере ниже есть несколько элементов <lang>.

<?xml version='1.0' standalone='yes'?>
<langs>
    <lang>
        <title>PHP</title>
    </lang>
    <lang>
        <title>Python</title>
    </lang>
</langs>

Вывести их можно через цикл:

$xml = simplexml_load_file('test.xml');

foreach ($xml as $lang) {
   echo $lang->title;
}