• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP's XML module

Status
Für weitere Antworten geschlossen.

Avantasia

Neues Mitglied
Hallo Forenmitglieder
Ich arbeite gerade an meiner Diplomarbeitund muss unteranderem aus einer MySQL Datenbank(5.0.51b) spezielle Daten herrausholen. Die Abfrage mach ich durch objektorientiertes mysqli (-> benutze PHP 5). Nun bin ich an den Punkt gekommen wie ich die Daten nun in ein XML Dokument bringen kann.

Dazu habe ich auf der Seite PHP: Hypertext Preprocessor einiges gefunden.
1 Alternative wäre einfach einen String zu deklarieren
xml_poutput = "´Projekt";
xml_output .= "Variante";

Jedoch gefällt mir das nicht so bzw seh ich darin keine struktuerierung und eine einfach erweiterbarkeit

Eine alternative dazu wäre der XMLWriter der mich bisher am meissten überzeugt. Da man das sehr strukturiert i nden bisherigen OO Programmierstiel einbinden kann

XML/DOM hab ich bisher so verstanden das es nur zum bearbeiten von XML Dokumenten sehr gut geeignet ist aber nicht zum erstellen.

Externe Klassen will ich nicht benutzen da ich es selber programmieren will.

Jedoch bin ich an einem Punkt wo ich selbst nicht weiss was denn das beste wäre.So ein fertiges XML Dikument kann ca 100 000 Zeielen haben
sofern das ein Entscheidungspunkt wäre. Ausserdem will icheigentlich die zu erstellende XML Datei nicht auf den Server zwischenspeichern sondern der User sollte diese sofort lokal bei sich speichern können


Ich würde mich freuen wenn ihr mir mit eurer Erfharung ein wenig helfen könnt damit ich schnell die beste Lösung finden kann.
 
Ich benutze für jegliche XML Arbeit mit PHP immer PHP: SimpleXML - Manual

Ein beispiel könnte so aussehen

Du fragst aus der Tabelle adressen ab die aus den Feldern `strasse` `hausnummer` `plz` und `ort` bestehen
PHP:
<?php
$xml = simplexml_load_string("<xml version=\"1.0\" encoding=\"utf-8\"><addresses></addresses>");
$i = 0;
while($address_object = mysql_fetch_object(...)) {
    $xml->addChild("address");
    $xml->address[$i]->addChild("strasse", $address_object->strasse);
    $xml->address[$i]->addChild("hausnummer", $address_object->hausnummer);
    $xml->address[$i]->addChild("plz", $address_object->plz);
    $xml->address[$i++]->addChild("ort", $address_object->ort);
}
$xml->asXML("myfile.xml");
?>
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben