hi,
.. ich habe mich schon en bisschen mit php und xml befasst,
habe für das auslesen von Xml-Dateien simplexml benutzt.
.. jetzt habe ich vor eine XML-Datei zu erstellen, nur das bietet simple xml nicht an.
.. habe ein bisschen gesucht und bin auf die DOM-Extension gestossen.
.. folgendes klappt wunderbar:
(Beispiel aus php.net DOMDocument->save() )
.. ich muss aber für manche knoten auch attribute angeben,
da kommt mein eigentliches problem.
z.B. will ich folgendes:
<book>
<title="1"></title>
<title="2"></title>
</book>
Ich habe folgendes versucht:
Das leider ohne erfolg, bei mir kommt folgende Fehlermeldung:
habe alles mögliche versucht rumm zu drehen, aber nix hinbekommen, in der createAttribute - Seite von php.net steht auch leider kein Beispiel.
.. naja, hoffe hier kann mir jemand helfen.
greetz
.. ich habe mich schon en bisschen mit php und xml befasst,
habe für das auslesen von Xml-Dateien simplexml benutzt.
.. jetzt habe ich vor eine XML-Datei zu erstellen, nur das bietet simple xml nicht an.
.. habe ein bisschen gesucht und bin auf die DOM-Extension gestossen.
.. folgendes klappt wunderbar:
PHP-Code:
<?php
$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;
$root = $doc->createElement('book');
$root = $doc->appendChild($root);
$title = $doc->createElement('title');
$title = $root->appendChild($title);
$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);
echo 'Wrote: ' . $doc->save("/tmp/test.xml") . ' bytes'; // Wrote: 72 bytes
?>
.. ich muss aber für manche knoten auch attribute angeben,
da kommt mein eigentliches problem.
z.B. will ich folgendes:
<book>
<title="1"></title>
<title="2"></title>
</book>
Ich habe folgendes versucht:
PHP-Code:
$title = $doc->createElement('title');
$attribute = $title->createAttribute('1');
$title.setAttributeNode($attribute);
$title = $root->appendChild($title);
Fatal error: Call to undefined method DOMElement::createAttribute()
.. naja, hoffe hier kann mir jemand helfen.
greetz
Kommentar