Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  XML
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet



 

Manuelle Erzeugung von XML-Dokumenten




Sie haben nun bereits erfahren, wie Sie XML-Dokumente verarbeiten können, sprich parsen. Was nun noch fehlt ist die Erzeugung von XML-Dokumenten. Man unterscheidet hierbei die manuelle und dynamische Erzeugung. Als erste werden wir Ihnen die manuelle Methode vorstellen.

Die manuelle Ausgabe von XML-Daten erfordert meist den Einsatz von mehreren foreach-Schleifen zum Arbeiten der Arrays. Es gilt hierbei einige wichtige Details zu beachten. Als Erstes müssen Sie header() aufrufen, um den korrekten Conten-Type-Header für Ihr Dokument zu setzen. Da Sie XML senden und nicht HTML, sollte dies text/xml sein.

Abhängig von der Einstellung der Konfigurationsoption short_open_tag, kann ausserdem der Versuch, die XML-Deklaration auszugeben, unbeabsichtitgt die PHP-Verarbeitung auslösen. Da das mit dem kurzen öffnenden PHP-Tag übereinstimmt, müssen Sie, um die Deklaration an den Browser ausgeben zu können, entweder die Option deaktivieren oder die Zeile mit einer PHP-Anweisung ausgeben. In der Lösung wenden wir den zweiten Weg an.

Anschliessend müssen möglicherweise vorkommende Entities in Escape-Sequenzen umgewandelt werden. Beispielsweise muss das & in dem Roman „Du & Ich“ durch & ersetzt werden. Um Ihre Daten entsprechend zu konvertieren, verwenden Sie hierfür die htmlspecialchars()-Funktion.


Beispiel



<?php
header
('Content-Type: text/xml');

$autoren = array(
array(
'name'     => 'Matthias Kannengiesser',
     
'titel'  => 'MySQL 4',
     
'thema'    => 'Datenbanken',
     
'preis' => '39.95'),

array(
'name'     => 'Caroline Kannengiesser',
     
'titel'  => 'Flash & ActionScript',
     
'thema'    => 'Programmierung',
     
'preis' => '49.95')
);

print
'<?xml version="1.0"?>' . "\n";
print
"<autoren>\n";

foreach (
$autoren as $autor) {
    print
"    <autor>\n";
    foreach(
$autor as $tag => $data) {
        print
"        <$tag>" . htmlspecialchars($data) . "</$tag>\n";
    }
    print
"    </autor>\n";
}

print
"</autoren>\n";
?>




Ausgabe



<?xml version="1.0"?>
<autoren>
    <autor>
        <name>Matthias Kannengiesser</name>
        <titel>MySQL 4</titel>
        <thema>Datenbanken</thema>
        <preis>39.95</preis>
    </autor>
    <autor>
        <name>Caroline Kannengiesser</name>
        <titel>Flash &amp; ActionScript</titel>
        <thema>Programmierung</thema>
        <preis>49.95</preis>
    </autor>
</autoren>




 


Verwendung von XSLT mit PHP
 






© 2001-2005 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de