Statistische Angaben über XML-Dokumente mit PHP

Die XML_Statistics-Klasse bringt auch zwei Utility-Funktionen mit: Die Methode getMaxDepth() misst die maximale Tiefe einer Reihe von verschachtelten Elementen, während countTagsInDepth() alle Tags einer bestimmten Ebene der Verschachtelung zählt. Listing E ist ein Beispiel für eine XML-Datei, die mit dem PHP-Code in Listing F analysiert wird.

Wie man in Listing F erkennt, bestimmt man zuerst die Tiefe des XML-Baums mit der Methode getMaxDepth() und verwendet dann eine for()-Schleife und die Methode countTagsInDepth() um die Gesamtzahl der Elemente auf jeder Ebene zu bestimmten. Und so sieht die Ausgabe aus:


Maximum depth of XML tree is 3
1 element(s) at level 1
5 element(s) at level 2
4 element(s) at level 3

Alles zusammen

Listing G ist ein zusammengesetztes Beispiel, das noch einmal alle oben beschriebenen Methoden demonstriert. Dieses Beispiel besteht aus einem Formular, in das der Anwender einen Pfad eingeben kann. Nach dem Abschicken scannt das Script den angegebenen Speicherort nach XML-Dateien, analysiert jede von ihnen und zeigt für jede einen Bericht über den Inhalt an.

Eigentlich besteht dieses Script aus zwei Teilen: Der erste Teil dient der Anzeige des Formulars, der zweite verarbeitet die Formulardaten. Sobald der Anwender ein Verzeichnis eingegeben hat, überprüft das Script zuerst, ob der eingegebene Pfad gültig ist und iteriert dann über alle Dateien in dem Verzeichnis um eine Liste gültiger Dateien zu erstellen (Dateien mit der Erweiterung .xml). Jede Datei wird mithilfe der Methode analyzeFile() analysiert und ein Bericht über ihren Inhalt wird ausgegeben. Dieser Prozess wird fortgeführt bis alle XML-Dateien im angegebenen Verzeichnis analysiert wurden. Falls der Anwender ein ungültiges oder falsches Verzeichnis eingibt, bricht das Script mit einer Fehlermeldung ab.

Ein Beispiel für die Ausgabe zeigt Abbildung A. Falls man sich über das Auftauchen von „PIs: 1“ in jeder Datei wundert: Die allererste Zeile eines XML-Dokuments, die XML-Deklaration, ist selbst eine Processing Instruction (PI).

Themenseiten: Anwendungsentwicklung, PHP, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Statistische Angaben über XML-Dokumente mit PHP

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *