1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
|
<?php
// Verbindung aufbauen, auswählen einer Datenbank
mysql_connect("localhost","root","pass");
mysql_select_db("testdatenbank") or die ("Die Datenbank existiert nicht.");
function Objekt2Array($Objekt)
{
$Rueckgabewert = NULL;
if(is_array($Objekt))
{
foreach($Objekt as $Schluessel => $Wert)
{
$Rueckgabewert[$Schluessel] = Objekt2Array($Wert);
}
}
else
{
$Objektelemente = get_object_vars($Objekt);
if($Objektelemente)
{
foreach($Objektelemente as $Schluessel => $Wert)
{
$Rueckgabewert[$Schluessel] = Objekt2Array($Wert);
}
}
else
{
return strval($Objekt);
}
}
return $Rueckgabewert;
}
$DateinameXML = "kostenstelle.xml";
$Tabellenname = "kostenstelle";
$objkostenstelle = simplexml_load_file($DateinameXML);
$arrkostenstelle = Objekt2Array($objkostenstelle);
$arrkostenstelle = array_values($arrkostenstelle);
// Generierung der Data Definition Language (DDL)
$MySQLDDL = "CREATE TABLE $Tabellenname (";
foreach($arrkostenstelle[0][1] as $Schluessel => $Wert)
{
$MySQLDDL .= "`" . $Schluessel . "` varchar (255) NOT NULL, ";
}
$MySQLDDL = substr($MySQLDDL, 0, -2);
$MySQLDDL .= ");";
// Generierung der Data Modeling Language (DML)
for($i = 0, $MySQLSpalten = "", $MySQLWerte = ""; $i < count($arrkostenstelle[0]); $i++)
{
foreach($arrkostenstelle[0][$i] as $Schluessel => $Wert)
{
$MySQLSpalten .= $Schluessel . ", ";
$MySQLWerte .= "'" . $Wert . "', ";
}
$arrMySQLDML[] = "INSERT INTO $Tabellenname (" . substr($MySQLSpalten, 0, -2) . ") VALUES (" . substr($MySQLWerte, 0, -2) . ");";
$MySQLSpalten = "";
$MySQLWerte = "";
}
// Ausgabe von DDL und DML
echo$MySQLDDL,
"\n";
for($i = 0; $i < count($arrMySQLDML); $i++)
{
echo$arrMySQLDML[$i],
"\n";
}
echo "$MySQLDDL";
?>
|