XML zu CSS per PHP

TheCreeper202

Bekanntes Mitglied
hallo
ich arbeite an nem xml zu css konvertierer
die xml:
[xml]
<?xml version="1.0"?>
<style>
<body>
<background-color>gray</background-color>
</body>
</style>
[/xml]
der css code der entstehen soll:
Code:
body { background-color: gray; }
die style.php:
PHP:
<?php
class Style {
    public $code;
    public function open($name) {
        $this->code .= "$name { ";
    }
    public function close() {
        $this->code .= "}";
    }
    public function set($attr, $value) {
        $this->code .= "$attr: $value; ";
    }
    public function __toString() {
        return '<style type="text/css">'.$this->code.'</style>';
    }
}
class StyleXML extends Style {
    public function __construct($file) {
        $xml = simplexml_load_file($file);
        //konvertieren
    }
}
?>
was ausgeführt werden soll:
PHP:
parent::open("body");
parent::set("background-color", "gray");
parent::close();
was funktioniert:
PHP:
$bgg = new Style();
$bgg->open("body");
$bgg->set("background-color", "gray");
$bgg->close();
echo $bgg;
 
Zuletzt bearbeitet:
M

Marcinek

Gast
Falsches Forum?

Vielleicht mal ein PHP Forum aufsuchen?

parent::tralala

ist in java

super.tralala()

Da musst du für erben und nicht instaziieren :D
 

TheCreeper202

Bekanntes Mitglied
vlt so:
PHP:
foreach ($xml as $block=>$value) {
    parent::open($block);
    foreach($value as $bl=>$val) {
        parent::set($bl, $val);
    }
    parent::close();
}
 

TheCreeper202

Bekanntes Mitglied
PHP:
foreach($xml->element as $type=>$index) {
    parent::open($type['type']);
    foreach ($xml->element->option as $name=>$val) {
        parent::set($name['name'], $xml->element->option);
    }
    parent::close();
}
oder wie?
 
Zuletzt bearbeitet:

cmrudolph

Gesperrter Benutzer
In der PHP Dokumentation befinden sich einige Beispiele, wie man XML Dokumente parst. Ich habe für meinen Teil nur Erfahrung mit DOM.
Aber wie Marcinek schon gesagt hat, ist dies hier eigentlich das falsche Forum. In einem PHP Forum wird dir sicherlich viel kompetenter geholfen werden können.
 

Neue Themen


Oben