HI SelfPHP-Com,
ich bin im moment etwas am verzweifeln.
Momentan bin ich dabei für eine Seite eine Konfigurationsverwaltung zu schreiben. Diese Seite soll mit XML Konfiguriert werden und auch der Content soll in eine XML-Datei anstelle eine Datenbank gespeichert werden.
Mein Problem ist das übernehmen der einzelnen XML-Knoten in einer Datei als Array-Indizes und -Werte.
Gäbe es nur eine fest definierte anzahl an Unterknoten wäre es kein Problem. Die Dateien können aber, theoretisch zumindest, eine beliebige anzahl von Unterknoten haben.
Ich weiß dass mein Vorhaben über eine Rekursive Funktion gemacht werden muss/kann.
Ich habe mich bisher aber noch nicht mit rekursiven Funktionen beschäfftigt.
Hier mal die XML-Datei wie sie bisher aussieht:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<config>
<design>
<body
font-family=""
font-style=""
font-variant=""
font-size=""
font-weight=""
font-stretch=""
word-spacing=""
letter-spacing=""
text-decoration=""
text-transform=""
color=""
text-shadow=""
background-color=""
margin=""
></body>
<a>
<link
font-family=""
font-style=""
font-variant=""
font-size=""
font-weight=""
font-stretch=""
word-spacing=""
letter-spacing=""
text-decoration=""
text-transform=""
color=""
text-shadow=""
></link>
<visited
font-family=""
font-style=""
font-variant=""
font-size=""
font-weight=""
font-stretch=""
word-spacing=""
letter-spacing=""
text-decoration=""
text-transform=""
color=""
text-shadow=""
></visited>
<active
font-family=""
font-style=""
font-variant=""
font-size=""
font-weight=""
font-stretch=""
word-spacing=""
letter-spacing=""
text-decoration=""
text-transform=""
color=""
text-shadow=""
></active>
<hover
font-family=""
font-style=""
font-variant=""
font-size=""
font-weight=""
font-stretch=""
word-spacing=""
letter-spacing=""
text-decoration=""
text-transform=""
color=""
text-shadow=""
></hover>
</a>
</design>
</config>
Es soll die Möglichkeit bestehen weitere Konfigurations-Elemente hinzufügen zu können ohne dass das Script anpassen zu müssen.
Die Datei lese ich mit
simplexml_load_file ein:
PHP-Code:
$config = simplexml_load_file("xml/config.xml");
Referenz:
http://www.php.net/manual/de/functio...-load-file.php
Danach stehen mir die Konten als Okjekte und die Attribute als Array-Index des jeweiligen Knotens zur Verfügung.
PHP-Code:
$config->design->body['font-family'];
Ich weiß dass ich nicht ein fertiges Script erwarten kann. Tue ich auch nicht. Aber über Denkanstöße, Tipps bzw. Erklärungen wäre ich schon sehr froh.
Ich bin am überlegen ober ich nicht OOP-Variante beibehalten soll ohne das ganze in ein reines Array umzuwandeln.
Aber da ich so etwas sicherlich später in einer anderen Variante brauchen kann bitte ich trotzdem um Hilfe.
Kai aka Knight1