Was ist besser
Luke
- programmiertechnik
0 Luke0 Malcolm Beck´s0 Greg
1 zehbaeh1 Jeena Paradies
Servus,
folgender code zur Erzeugung einer XML-File aus Daten, die aus einer mySQL Datenbank ausgelesen werden:
$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$xml .="<kunde id=\"".$id."\" letztebestellung=\"".$zeitstempel['letztebestellung']."\">\n";
$xml .="<kundendaten>\n";
$xml .="<anrede>".$kunden_daten['anrede']."</anrede>\n";
$xml .="<vorname>".$kunden_daten['vorname']."</vorname>\n";
$xml .="<name>".$kunden_daten['name']."</name>\n";
$xml .="</kundendaten>\n"
$xml .="<kunde>\n"
Für das Erstellen der XML-Datei habe ich zwei Varianten:
Variante 1:
$xml = utf8_encode($xml);
$dateiname=$id."_".$kunden_daten['name'].".xml";
echo $dateiname;
$handle = fopen($dateiname, "w");
fwrite($handle,$xml);
fclose($handle);
Variante 2:
$xml = utf8_encode($xml);
$dateiname=$id."_".$nutzer_daten['name'].".xml";
$element = new SimpleXMLElement($xml);
$element->asXML($dateiname);
Beide Varianten funktionieren. Aber was ist besser und gibt es überhaupt einen wichtigen Unterschied zwischen den beiden Varianten? Was würdet Ihr bevorzugen?
Grüße
Luke
echo $dateiname;
Hoppla, die Zeile war nur als Kontrollausgabe für mich gedacht.
مرحبا
$xml = "<?xml version="1.0" encoding="UTF-8"?>\n";
$xml .="<kunde id="".$id."" letztebestellung="".$zeitstempel['letztebestellung']."">\n";
Ich würde es eher so machen:
~~~php
$xml = sprintf('<?xml version="1.0" encoding="UTF-8"?>
<kunde id="%1$d" letztebestellung="%5$s">
<kundendaten>
<anrede>%2$s</anrede>
<vorname>%3$s</vorname>
<name>%4$s</name>
</kundendaten>
<kunde>'
, $id # 1
, utf8_encode($kunden_daten['anrede']) # 2
, utf8_encode($kunden_daten['vorname']) # 3
, utf8_encode($kunden_daten['name']) # 4
, strtotime($zeitstempel['letztebestellung']) # 5
);
Was würdet Ihr bevorzugen?
2. Variante.
mfg
Was würdet Ihr bevorzugen?
- Variante.
Habe eben festgestellt, dass die zweite Variante nicht geht.
Die Datei wird mehrfach beschrieben (immer wenn Änderungen erfolgen). Daher hatte ich bei Variante eins auch das "w" gewählt.
In Variante 2 klatscht mir das Ding den neuen Text immer unten an den alten.
Viele Grüße
Greg
Namen von Personen ISO-8859-1 kodiert zu speichern ist IMHO keine gute Idee.
Du berücksichtigst ausserdem keinen Kontextwechsel.
Hallo,
Ich würde erst mal bevorzugen dass man kein XML oder PHP oder was auch immer in Deutsch schreibt weil das jeden der dieser Sprache nicht mächtig ist exkludiert (ich durfte mal eine Datenbank die in Finisch oder Norwegisch war versuchen zu verstehen, das ging einfach nicht.). Stattdessen einfach alle Namen in Englisch und jeder kann es verstehen.
Ansonsten würde XML nicht aus Strings bauen sondern DOM-Methoden dazu benutzen.
Jeena