XML erzeugen

Aus Wikizone
Wechseln zu: Navigation, Suche

Siehe auch

SimpleXML

Mit dem DOM (Document Object Model)

http://de3.php.net/manual/en/book.dom.php

Beispiel

https://stackoverflow.com/questions/143122/using-simplexml-to-create-an-xml-object-from-scratch
$domDoc = new DOMDocument;
$rootElt = $domDoc->createElement('root'); 
$rootNode = $domDoc->appendChild($rootElt);

$subElt = $domDoc->createElement('foo');
$attr = $domDoc->createAttribute('ah');
$attrVal = $domDoc->createTextNode('OK');
$attr->appendChild($attrVal);
$subElt->appendChild($attr);
$subNode = $rootNode->appendChild($subElt);

$textNode = $domDoc->createTextNode('Wow, it works!');
$subNode->appendChild($textNode);

echo htmlentities($domDoc->saveXML());

Mit dem DOM sind recht flexible Manipulationen möglich:

$elem->append($doc->p('This is a paragraph')); 
$elem->append('Some text');

Mit XMLWriter

https://www.php.net/manual/en/intro.xmlwriter.php

Soll einfacher sein als mit dem DOM Object

$w=new XMLWriter();
$w->openMemory();
$w->startDocument('1.0','UTF-8');
$w->startElement("root");
$w->writeAttribute("ah", "OK");
$w->text('Wow, it works!');
$w->endElement();
echo htmlentities($w->outputMemory(true));