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-документа
Новый модуль SimpleXML в PHP 5 упрощает анализ 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>
Это даст следующий результат —
ПРИМЕЧАНИЕ. — Вы можете использовать функцию simplexml_load_file (имя файла), если у вас есть 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>";
?>
Это даст следующий результат —
