суббота, 7 апреля 2018 г.

PHP. Парсинг XML-файла. DOM

Сделаем парсер xml-файла с помощью объектно-ориентированных методов.
Код xml-файла доступен на этой странице.

dom.php
<?php
header( "Content-Type: text/html;charset=utf-8");

// Создадим экземпляр класса дом-документ.
$dom = new DomDocument();

// Зачитаем документ в память.
$dom->load("catalog.xml");

// Выбирает корневой элемент в считываемом файле. В нашем случае: catalog
$root = $dom->documentElement;

// Узнаем тип элемента.
// echo $root->nodeType; // 1

// Посмотрим, есть ли текстовое содержимое.
// echo $root->textContent; // Выдает весь текст файла.

// Получим узлы-наследники.
$books = $root->childNodes;
// var_dump($books); // object(DOMNodeList)#3 (1) { ["length"]=> int(25) }
// Пройдемся циклом по объекту, чтобы получить текст.
// Необходимо учитывать, что пробелы также выводятся, как текстовой контент.
/* foreach($books as $book) {
echo $book->textContent; // выводит текст
echo "<hr>";
} */
?>
<html>

<head>
  <title>Каталог</title>
</head>

<body>
  <h1>Каталог книг</h1>
  <table border="1" width="100%">
    <tr>
      <th>Автор</th>
      <th>Название</th>
      <th>Год издания</th>
      <th>Цена, руб</th>
    </tr>
    <?php
     //Парсинг

foreach($books as $book) {
if($book->nodeType == 1) {
echo "<tr>";
foreach($book->childNodes as $item) {
if($item->nodeType == 1) {
echo "<td>{$item->textContent}</td>";
}
}
echo "</tr>";
}
}
    ?>
  </table>
</body>

</html>

Комментариев нет:

Отправить комментарий

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html