PHP i XML
XML to język znaczników, który bardzo przypomina HTML. Dokument XML jest zwykłym tekstem i zawiera tagi oddzielone znakami <i>. Istnieją dwie duże różnice między XML a HTML -
- XML nie definiuje konkretnego zestawu tagów, których musisz użyć.
- XML jest bardzo wybredny, jeśli chodzi o strukturę dokumentu.
XML daje dużo większą swobodę niż HTML. HTML ma pewien zestaw tagów: znaczniki <a> </a> otaczają łącze, <p> akapit początkowy i tak dalej. Dokument XML może jednak używać dowolnych znaczników. Umieść tagi <rating> </rating> wokół oceny filmu, tagi <height> </height> wokół czyjegoś wzrostu. W ten sposób XML daje możliwość tworzenia własnych tagów.
XML jest bardzo rygorystyczny, jeśli chodzi o strukturę dokumentu. HTML pozwala grać szybko i luźno z pewnymi otwierającymi i zamykającymi tagami. Ale tak nie jest w przypadku XML.
Lista HTML, która nie jest prawidłowym plikiem XML
<ul>
<li>Braised Sea Cucumber
<li>Baked Giblets with Salt
<li>Abalone with Marrow and Duck Feet
</ul>
To nie jest prawidłowy dokument XML, ponieważ nie ma tagów zamykających </li>, które pasowałyby do trzech otwierających tagów <li>. Każdy otwarty tag w dokumencie XML musi zostać zamknięty.
Lista HTML, która jest poprawnym XML
<ul>
<li>Braised Sea Cucumber</li>
<li>Baked Giblets with Salt</li>
<li>Abalone with Marrow and Duck Feet</li>
</ul>
Analizowanie dokumentu XML
Nowość w PHP 5 SimpleXMLmoduł sprawia, że parsowanie dokumentu XML jest proste. Zmienia dokument XML w obiekt, który zapewnia strukturalny dostęp do XML.
Aby utworzyć obiekt SimpleXML z dokumentu XML przechowywanego w ciągu, przekaż ten ciąg do simplexml_load_string( ). Zwraca obiekt SimpleXML.
Przykład
Wypróbuj następujący przykład -
<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>
To da następujący wynik -
NOTE - Możesz użyć funkcji simplexml_load_file( filename) jeśli masz zawartość XML w pliku.
Aby uzyskać szczegółowe informacje na temat funkcji analizowania XML, sprawdź Dokumentacja funkcji PHP .
Generowanie dokumentu XML
SimpleXML jest dobry do analizowania istniejących dokumentów XML, ale nie można go użyć do utworzenia nowego od podstaw.
Najłatwiejszym sposobem wygenerowania dokumentu XML jest zbudowanie tablicy PHP, której struktura odzwierciedla strukturę dokumentu XML, a następnie wykonanie iteracji przez tablicę, wypisując każdy element z odpowiednim formatowaniem.
Przykład
Wypróbuj następujący przykład -
<?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>";
?>
To da następujący wynik -
http://menu.example.com/ Choose what to eat tonight.