Чтение файлов XML средствами PHP

Итак этот пост я решил посвятить чтению файлов XML средствами PHP.

Самый просто способ прочитать xml-ку это SimpleXML. Это библиотека является очень удобной, короткой и локаничной. Итак предположим что у нас есть файл xml следующего содержания


< ?xml version="1.0" encoding="UTF-8"?>
<points>
<a href="a=univercity" title="Список университетов"/>
<a href="a=faculty_list" title="Список факультетов"/>
</points>


Чтобы его прочитать необходим следующий код:


$xml = simplexml_load_file($xmlfile);
//var_dump($xml);
foreach($xml->children() as $key)
{
echo $key['title'] .'-'. $key['href'].'<br />';
}

Теперь разберём что написали:

$xml = simplexml_load_file($xmlfile) — Данная строка берёт наш файл xml и конвертирует его в обьект .

Далее у нас имеется интересная запись $xml->children(). Это означает что мы перешли к внутреннему блоку нашего xml документа.  Т.е от <points> к его сыну, в нашем случае это тег <a>.  Далее  мы можем получить все атрибуты нашего тега. У нас их 2 — title и href. Обращение происходит как к элементу массива  $key[‘href’] или $key[‘title’].

Далее, есть еще один простой вид XML документа.


< ?xml version="1.0" encoding="UTF-8"?>
<template>
<parametrs>
<name>Eugene</name>
<author>Hopkins</author>
<description>Любимый автор</description>
<version>1.0</version>
</parametrs>
</template>

Чтение данного типа тоже не вызовет никакх проблем. Оно осуществляется по следующему сценарию:


$parametrs = simplexml_load_file ( $xmlfile );

foreach ( $parametrs->parametrs as $param ) :

echo $param->name.'<br />';

echo $param->author.'<br />';

echo $param->description.'<br />';

echo $param->version.'<br />';

endforeach

Тут мы считываем параметры тега <parametrs> и обращаемся к элементам как к свойствам обьекта. $parametrs->parametrs — означает что мы перешли на тег <parametrs> и работаем с его содержимым как с обьектом.
Обожаю играть в онлайн рулетку. Не надо никуда идти. Просто сиди мома или в офисе и играй. Кстати
правила игры в рулетку очень просты. Попробуй и тебе понравится.

Вспомните своё детство и свои игрушки. Как много хотелось и как мало было. Игрушки оптом это возможность сделать своих близких и детей немного счастливее. Не отказывайте им в удовольствии.

 

4 Ответы на “Чтение файлов XML средствами PHP”

  1. вероятнее не «echo $key[‘href’] .’-‘. $key[‘href’].»;», а «echo $key[‘title’] .’-‘. $key[‘href’].»;»

  2. Это конечно интересно, но к сожалению, данный метод пригоден лишь для небольших файлов 🙁

  3. Здравствуйте. Пример очень помог но из xml я могу выташить либо первое значение либо все сразу. А как поступить если мне нужнто вытащить второе или какое другое? Пример кода php:

    $parametrs = simplexml_load_file (‘E:\Program Files\Новая папка\Книга1.xml’);
    foreach ( $parametrs->Worksheet->Table->Row as $param ) :
    echo $param->Cell->Data.»;
    endforeach

    ето вытаскивет все значения.

    пример кода xml:

    te4rtestet

    e4te4ts

    4etst44est

    e4tset44e

    3
    16
    1

    False
    False

Добавить комментарий для алехандр Отменить ответ