Hallo zusammen,
ich habe folgendes Problem:
Ich habe eine relativ große Datenbank als XML-Datei vorliegen. Die möchte ich mit PHP in eine MySQL-Datenbank einlesen. Der MySQL-Part ist hier nicht das Thema, da bin ich fit drin. Nur mit XML habe ich groß noch nie gearbeitet.
Folgende Datenstruktur ist gegeben:
<root>
<row>
<field name="Vorname">Max</field>
<field name="Name">Mustermann</field>
<field name="Strasse">Musterstr. 12</field>
.......
</row>
<row>
<field name="Vorname">Franz</field>
.....
</row>
......
</root>
Also alle Datensätze gleich aufgebaut, gleiche Feldzahl. Pro Datensatz 50 Felder, und die Anzahl der Datensätze weiß ich noch nichtmal genau. Dürften aber ~5.000 sein.
Mit folgender Routine habe ich bisher den ersten Datensatz komplett und korrekt ausgelesen bekommen. Aber alle weiteren klappen nicht. Ich habe die Tabelle auf drei Felder beschränkt, damit es besser lesbar ist.
$attributt ist der Zähler für das Feld "<field>" innerhalb der "<row>". Und ja, ich weiß, daß man es regulär mit einem "t" am Ende schreibt ;-)
Das kann nicht viel sein ... nur was? Bin für jede Hilfe dankbar!
Gruß,
Enrico
ich habe folgendes Problem:
Ich habe eine relativ große Datenbank als XML-Datei vorliegen. Die möchte ich mit PHP in eine MySQL-Datenbank einlesen. Der MySQL-Part ist hier nicht das Thema, da bin ich fit drin. Nur mit XML habe ich groß noch nie gearbeitet.
Folgende Datenstruktur ist gegeben:
<root>
<row>
<field name="Vorname">Max</field>
<field name="Name">Mustermann</field>
<field name="Strasse">Musterstr. 12</field>
.......
</row>
<row>
<field name="Vorname">Franz</field>
.....
</row>
......
</root>
Also alle Datensätze gleich aufgebaut, gleiche Feldzahl. Pro Datensatz 50 Felder, und die Anzahl der Datensätze weiß ich noch nichtmal genau. Dürften aber ~5.000 sein.
Mit folgender Routine habe ich bisher den ersten Datensatz komplett und korrekt ausgelesen bekommen. Aber alle weiteren klappen nicht. Ich habe die Tabelle auf drei Felder beschränkt, damit es besser lesbar ist.
$attributt ist der Zähler für das Feld "<field>" innerhalb der "<row>". Und ja, ich weiß, daß man es regulär mit einem "t" am Ende schreibt ;-)
PHP:
<?php
$xml = simplexml_load_file('adressen.xml');
echo "<table border=1>";
echo "<tr><td>datensatz</td><td>Vorname</td><td>Name</td><td>Strasse</td></tr>";
foreach ($xml->row as $row) {
$attributt = 0;
echo "<tr><td></td>";
while ($attributt < 50){ // 50 Felder pro Datensatz
echo "<td>".$xml->row->field[$attributt]."</td>";
$attributt++;
}
echo "</tr>";
}
echo "</table>";
?>
Das kann nicht viel sein ... nur was? Bin für jede Hilfe dankbar!
Gruß,
Enrico