Шаблоны проектирования PHP

Шаблоны проектирования PHP
PHP и XML

XML — это язык разметки, очень похожий на HTML. XML-документ представляет собой обычный текст и содержит теги, разделенные <и>. Между XML и HTML есть два больших различия:

  • XML не определяет конкретный набор тегов, которые вы должны использовать.
  • XML чрезвычайно требователен к структуре документа.

XML дает вам гораздо больше свободы, чем HTML. HTML имеет определенный набор тегов: теги <a> </a> окружают ссылку, <p> — начало абзаца и так далее. Однако XML-документ может использовать любые теги, какие захотите. Поместите теги <rating> </rating> вокруг рейтинга фильма, теги <height> </height> вокруг чьего-либо роста. Таким образом, XML дает вам возможность создавать собственные теги.

XML очень строг, когда дело касается структуры документа. HTML позволяет играть быстро и свободно с некоторыми открывающими и закрывающими тегами. Но это не относится к XML.

Список HTML, недействительный XML

<ul>
   <li>Braised Sea Cucumber
   <li>Baked Giblets with Salt
   <li>Abalone with Marrow and Duck Feet
</ul>

Это недопустимый XML-документ, потому что нет закрывающих тегов </li>, которые соответствовали бы трем открывающим тегам <li>. Каждый открытый тег в XML-документе должен быть закрыт.

Список HTML, который является допустимым XML

<ul>
   <li>Braised Sea Cucumber</li>
   <li>Baked Giblets with Salt</li>
   <li>Abalone with Marrow and Duck Feet</li>
</ul>

Анализ XML-документа

Новый модуль PHP 5 SimpleXML упрощает синтаксический анализ XML-документа. Он превращает XML-документ в объект, обеспечивающий структурированный доступ к XML.

Чтобы создать объект SimpleXML из XML-документа, хранящегося в строке, передайте строку в simplexml_load_string () . Он возвращает объект SimpleXML.

пример

Попробуйте следующий пример —

<html>
   <body>
      
      <?php
         $note=<<<XML
         
         <note>
            <to>Gopal K Verma</to>
            <from>Sairamkrishna</from>
            <heading>Project submission</heading>
            <body>Please see clearly </body>
         </note>
         
         XML;
         $xml=simplexml_load_string($note);
         print_r($xml);
      ?>
		
   </body>
</html>

Это даст следующий результат —

Разбор XML

ПРИМЕЧАНИЕ. — Вы можете использовать функцию simplexml_load_file (filename), если у вас есть XML-контент в файле.

Полную информацию о функции синтаксического анализа XML см. В Справочнике по функциям PHP. .

Создание XML-документа

SimpleXML хорош для анализа существующих XML-документов, но вы не можете использовать его для создания нового с нуля.

Самый простой способ сгенерировать XML-документ — построить массив PHP, структура которого отражает структуру XML-документа, а затем выполнить итерацию по массиву, распечатав каждый элемент с соответствующим форматированием.

пример

Попробуйте следующий пример —

Живая демонстрация
<?php
   $channel = array('title' => "What's For Dinner",
      'link' => 'http://menu.example.com/',
      'description' => 'Choose what to eat tonight.');
   
   print "<channel>\n";
   
   foreach ($channel as $element => $content) {
      print " <$element>";
      print htmlentities($content);
      print "</$element>\n";
   }
   
   print "</channel>";
?>

Это даст следующий результат —

http://menu.example.com/ Choose what to eat tonight.
Выберите поля, которые будут показаны. Прочие будут скрыты. Перктаскивайте мышкой для изменения порядка полей.
  • Изображение
  • SKU
  • Рейтинг
  • Цена
  • Запасы
  • Доступность
  • В корзину
  • Описание
  • Содержимое
  • Вес
  • Размеры
  • Дополнительная информация
  • Атрибуты
  • Custom attributes
  • Настраиваемые поля
Сравнить
Список желаний 0
Открыть страницу желаний Продолжить покупки