XML zu CSS per PHP

  • Themenstarter Themenstarter Gelöschtes Mitglied 34033
  • Beginndatum Beginndatum
G

Gelöschtes Mitglied 34033

Gast
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 von einem Moderator:
Falsches Forum?

Vielleicht mal ein PHP Forum aufsuchen?

parent::tralala

ist in java

super.tralala()

Da musst du für erben und nicht instaziieren 😀
 
vlt so:
PHP:
foreach ($xml as $block=>$value) {
    parent::open($block);
    foreach($value as $bl=>$val) {
        parent::set($bl, $val);
    }
    parent::close();
}
 
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 von einem Moderator:
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.
 

Zurück
Oben