Erstellen von XML-Dokumenten mit PHP

Bevor wir uns mit dem technischen Teil der Erstellung dieser Dokumente befassen, müssen wir zunächst verstehen, dass es sich um eine XML- Datei handelt und welche tatsächlichen und aktuellen Anwendungen sie haben. Auf diese Weise können wir das in diesem Abschnitt erworbene Wissen viel besser einschätzen.

Was ist eine XML-Datei?
Sicherlich wissen viele von Ihnen bereits, dass es sich um eine XML- Datei handelt. Für diejenigen, die diese Datei nicht kennen oder zum ersten Mal sehen, werden wir ihr Konzept ein wenig erläutern. XML ist eine HTML- ähnliche Tag- und Markup-Sprache, mit der wir Inhalte in einem Dokument organisieren können. Es besteht aus Beschriftungen und Entitäten, und wir müssen beim Generieren mehrere Regeln befolgen.

Sicher werden sie denken, dass ich auch HTML beschreibe, und warum wir letztere nicht verwenden, anstatt eine neue Sprache zu erstellen, weil XML einfach deshalb strenger und anpassbarer ist, weshalb es viel flexibler und flexibler zu verwenden ist leicht zu verstehen. HTML- Tags sind bereits in ihrem Standard definiert, stattdessen werden von uns XML- Tags nach den Regeln der Sprache erstellt.

Anwendungen von XML

Zu Beginn des Tutorials erwähnen wir eine der bekanntesten XML- Anwendungen. Es ist wichtig, den Inhalt so zu organisieren, dass er von den Anwendungen verwendet werden kann. Dies ist im Wesentlichen erforderlich. Wenn wir ein XML- Dokument organisieren, können wir eine so genannte Syntaxanalyse durchführen, bei der es sich lediglich um das Lesen der Datei handelt. Wenn die Datei dem Standard entspricht, können wir ihre Struktur kennen und den Inhalt in unserem Programm verarbeiten.

In einem realen Kontext kann XML zum Übertragen von Daten über einen Webdienst oder zum Wiederherstellen und Importieren von Daten in eine Datenbank verwendet werden . Wie wir sehen, handelt es sich um ein Portabilitätsformat, das heißt, Daten von einer Plattform auf eine andere zu übertragen. Es dient auch innerhalb einer einzelnen Plattform, zum Beispiel einer Konfigurationsdatei, in der jede Bezeichnung Parametern entspricht, die unsere Anwendung liest, um ein geeignetes Verhalten zu generieren.

Nachrichten

Obwohl das JSON- Format in den letzten Jahren in Webumgebungen immer beliebter geworden ist und man sagen kann, dass es gegenüber XML immer beliebter geworden ist, ist dies nicht der Fall, da jeder seinen Platz hat. Der Vorteil von JSON liegt darin Das in Javascript native und mit neuen Möglichkeiten der Arbeit mit dieser Sprachkonvertierung ist praktisch unnötig.

See also  Erstellen Sie eine Website mit Asp.Net und Monodevelop unter Linux

In anderen Umgebungen wie Desktop-Anwendungen, anderen Serversprachen als Javascript und Anwendungen, die seit langem auf dem Markt sind, ist XML jedoch eine gültige und weit verbreitete Option.

Da immer alles von unseren Bedürfnissen abhängt, können wir sagen, dass weder JSON noch XML schlecht sind, einfach jeder hat seinen Gültigkeitsbereich und seinen Zweck. Wenn wir XML verwenden möchten und jemand uns mitteilt, dass wir veraltet sind, reicht es aus, das für uns zu wissen Bedürfnisse ist völlig gültig.

Struktur einer XML-Datei

Wie bereits erläutert, besteht eine XML- Datei aus Beschriftungen. Damit sie jedoch richtig interpretiert werden kann, muss sie eine Kopfzeile haben und dann mit dem Inhalt beginnen. Der Header wird als DTD oder Dokumenttypdefinition bezeichnet. Dies könnte als Typdefinition des Dokuments übersetzt werden, und der Inhalt ist dann das Schema oder das Schema in spanischer Sprache.

Was macht die DTD?
Die DTD ist diejenige, die dem Parser Informationen darüber gibt, um welchen XML- Typ es sich handelt, und innerhalb des Schemas wird der Inhalt, den wir für unser Dokument erstellt haben, gespeichert.

In der folgenden Abbildung sehen wir, wie ein Testdokument in unserer Anwendungsentwicklungsumgebung aussieht:

Gebäude-Dokumente-xml-mit-php.jpg

Generieren Sie unser erstes XML in PHP

Wir haben festgestellt, dass XML nur Text ist. Daher können wir in unserer Anwendung in PHP einfache Routinen ausführen , um den entsprechenden Inhalt einer XML- Datei zu generieren. Wenn wir jedoch sehen, dass der Header der XML- Datei die gleichen Bezeichnungen wie der hat die Sprache zu öffnen, das heißt <? Wenn wir also ein einfaches Echo des XML- Inhalts erstellen, wird ein Syntaxfehler angezeigt.

Dies kann leicht korrigiert werden, indem ein Header verwendet und der MIME-Typ durch text / xml geändert wird. Dadurch betrachtet der PHP- Interpreter den Header unseres XML- Inhalts, den wir generieren, nicht mehr als Fehler. Schauen wir uns als nächstes den Code an, mit dem wir unser kleines Beispiel erstellen:

 <? php Header ('Content-Type: text / xml'); echo "<? xml version =" 1.0 "encoding =" ISO-8859-1 "?>"; ?> <Bibliothek> <? php $ books = array ( Array ( 'title' => "Fight Club", 'author' => "Chuck Palahniuk" ), Array ( 'title' => "World War Z", 'author' => "Max Brooks", ) ); foreach ($ books als $ book) { Echo "<Buch>  n"; echo "<title> {$ book ['title']} </ title>  n"; echo "<author> {$ book ['author']} </ author>  n"; Echo "</ book>  n  n"; } ?> </ library> 

Wir sehen hier, wie wir als erstes den Header des Dokuments mit dem Header generieren. Dies ermöglicht es, das Start-Tag unseres XML- Codes zu platzieren, ohne Syntaxfehler in PHP auszulösen . Dann platzieren wir unser Schema- Root-Label aus dem Code heraus Bibliothek Fall.

See also  Wie erkenne ich die Frequenz meines Arbeitsspeichers? Windows 10

Dann machen wir ein kleines Array mit mehreren Elementen, die wir Bücher genannt haben. Das Wichtigste hier ist, obwohl es etwas manuelles ist, dass wir sehen können, dass wir dies beispielsweise mit einem Ergebnis von Database tun können. Schließlich gehen wir unser Array durch und drucken unter Beachtung der Etiketten, damit unser XML-Code gut aussieht.

Am Ende, wenn wir dies auf unserem Testserver ausführen, wird im Browser etwa Folgendes angezeigt:

Gebäude-Dokumente-xml-mit-PHP-2.jpg

Verbesserung der Verarbeitung
Obwohl das oben Genannte recht gut funktioniert und sehr nützlich ist, ist es zu fehleranfällig. Daher haben wir für unsere Hilfe mehrere Bibliotheken, mit denen wir XML- Dokumente aus allgemeineren Definitionen der Sprache erstellen können. Dazu haben wir die DOM- Bibliothek und Mit der SimpleXML- Bibliothek können wir sowohl XML- Dokumente generieren als auch analysieren .

Parsen Sie mit DOM

Im folgenden Beispiel nehmen wir eine XML- Datei, die sich in unserem Verzeichnis befindet. Zur Vereinfachung können wir das Dokument speichern, das im vorherigen Beispiel generiert wurde, und wir nennen es php_crear_xml.xml, wobei wir berücksichtigen, dass wir durch Ändern der Erweiterung nicht in der Lage sind, dies zu tun Verwenden Sie PHP, um den Header auszudrucken. Eine einfache Methode zum Anzeigen des vollständigen XML- Codes ist das Drücken von STRG + u . Sobald wir unsere Testdatei haben, verwenden wir den folgenden Code, um die Datei zu analysieren .

 <? php $ parser = new DOMDocument (); $ parser-> load ("example1.xml"); process ($ parser-> documentElement); Funktionsprozess ($ node) { foreach ($ node-> childNodes als $ son) { if ($ child-> nodeType == XML_TEXT_NODE) ​​{ echo "<p>". $ son-> nodeValue. "</ p>"; } sonst wenn ($ child-> nodeType == XML_ELEMENT_NODE) ​​{ process ($ son); } } } ?> 

In dem Code, den wir sehen, dass wir ein Objekt vom Typ DOMDocument erstellt haben , wird uns die DOM- Bibliothek zur Interpretation des XML- Codes bringen. Dann laden wir mit der load () -Methode die XML- Datei, die wir in unserem Pfad haben, und rufen dann die zu verarbeitende Funktion auf () Mit dieser Option können wir das geladene Dokument durchgehen.

See also  So blockieren Sie USB-Geräte in der Domäne mit einem Gruppenrichtlinienobjekt

Schließlich definieren wir unsere Funktion, hier gehen wir jeden Knoten durch und machen dann eine Bedingung, wenn es sich um ein XML- Element handelt, das wir die Funktion nennen, andernfalls, wenn es sich um Text handelt, den wir drucken, können wir den XML- Inhalt ohne Probleme erhalten.

Der einzige Nachteil dieser Methode und dieser Bibliothek ist die Menge an Speicher, die auf dem Server benötigt wird. Wenn es sich also um eine große XML- Datei handelt, ist es für unseren Server sehr schwierig, sie zu verarbeiten.

Gebäude-Dokumente-xml-mit-PHP-3.jpg

Analysieren Sie mit SimpleXML

Wir haben auch die SimpleXML- Bibliothek, um in der Lage zu sein, die XML- Dateien zu erstellen und zu verarbeiten. Ihre Verwendung ähnelt der der DOM- Bibliothek, ist jedoch in ihrer Anwendung eingeschränkter und komplexer, obwohl diese etwas größer ist Code kann komplexer sein.

Das Interessante an dieser Bibliothek ist, dass mit unserem XML ein Objekt erstellt wird, mit dem wir direkt auf seine Eigenschaften zugreifen und damit arbeiten können. Sehen wir uns im folgenden Code an, wie wir auf die Titel- Tags der einzelnen Bücher in unserem Test- XML zugreifen können .

 <? php $ XML file = simplexml_load_file ("example1.xml"); foreach ($ fileXML-> Buch als $ Buch) { Geben Sie $ book-> title zurück. "</ br>"; } ?> 

Obwohl der Code ein bisschen kurz ist, erstellen wir ein Objekt aus der geladenen Datei, und wir können jeden Knoten desselben durchforsten und so auf einfache Weise auf den Inhalt Ihres Tags zugreifen. Womit wir im Browser folgendes bekommen würden:

Gebäude-Dokumente-xml-mit-PHP-4.jpg

Damit schließen wir dieses Tutorial ab, haben eine XML- Datei erfolgreich erstellt und zwei verschiedene Arten des Lesens dieser Dateien erlernt. Es ist wichtig, komplexere Dateien zu üben, damit wir bereit und in der Lage sind, unser Wissen in einer realen Anwendung anzuwenden.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *