PHP & XML
XML ist eine Auszeichnungssprache, die HTML sehr ähnlich sieht. Ein XML-Dokument besteht aus einfachem Text und enthält durch <und> begrenzte Tags. Es gibt zwei große Unterschiede zwischen XML und HTML:
- XML definiert keinen bestimmten Satz von Tags, die Sie verwenden müssen.
- XML ist äußerst wählerisch in Bezug auf die Dokumentstruktur.
XML bietet Ihnen viel mehr Freiheit als HTML. HTML hat eine bestimmte Reihe von Tags: Die <a> </a> Tags umgeben einen Link, das <p> beginnt mit dem Absatz und so weiter. Ein XML-Dokument kann jedoch beliebige Tags verwenden. Platzieren Sie <Rating> </ Rating> -Tags um eine Filmbewertung, <Höhe> </ Höhe> -Tags um die Größe einer Person. Somit bietet XML die Möglichkeit, eigene Tags zu erstellen.
XML ist sehr streng in Bezug auf die Dokumentstruktur. Mit HTML können Sie schnell und locker mit einigen öffnenden und schließenden Tags spielen. Dies ist jedoch bei XML nicht der Fall.
HTML-Liste, die kein gültiges XML ist
<ul>
<li>Braised Sea Cucumber
<li>Baked Giblets with Salt
<li>Abalone with Marrow and Duck Feet
</ul>
Dies ist kein gültiges XML-Dokument, da keine schließenden </ li> -Tags vorhanden sind, die mit den drei öffnenden <li> -Tags übereinstimmen. Jedes geöffnete Tag in einem XML-Dokument muss geschlossen werden.
HTML-Liste, die gültiges XML ist
<ul>
<li>Braised Sea Cucumber</li>
<li>Baked Giblets with Salt</li>
<li>Abalone with Marrow and Duck Feet</li>
</ul>
Analysieren eines XML-Dokuments
PHP 5 ist neu SimpleXMLDas Modul macht das Parsen eines XML-Dokuments einfach. Es verwandelt ein XML-Dokument in ein Objekt, das strukturierten Zugriff auf das XML bietet.
Übergeben Sie die Zeichenfolge an, um ein SimpleXML-Objekt aus einem in einer Zeichenfolge gespeicherten XML-Dokument zu erstellen simplexml_load_string( ). Es gibt ein SimpleXML-Objekt zurück.
Beispiel
Probieren Sie folgendes Beispiel aus -
<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>
Es wird das folgende Ergebnis erzeugt -
NOTE - Sie können die Funktion verwenden simplexml_load_file( filename) Wenn Sie XML-Inhalt in einer Datei haben.
Ausführliche Informationen zur XML-Analysefunktion finden Sie in der PHP-Funktionsreferenz .
Generieren eines XML-Dokuments
SimpleXML eignet sich zum Parsen vorhandener XML-Dokumente, Sie können es jedoch nicht verwenden, um ein neues von Grund auf neu zu erstellen.
Der einfachste Weg, ein XML-Dokument zu generieren, besteht darin, ein PHP-Array zu erstellen, dessen Struktur der des XML-Dokuments entspricht, und anschließend das Array zu durchlaufen und jedes Element mit der entsprechenden Formatierung zu drucken.
Beispiel
Probieren Sie folgendes Beispiel aus -
<?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>";
?>
Es wird das folgende Ergebnis erzeugt -
http://menu.example.com/ Choose what to eat tonight.