XML erzeugen: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
 
  [[SimpleXML]]
 
  [[SimpleXML]]
  
== DOM Object Model ==
+
== Mit dem DOM (Document Object Model) ==
 +
http://de3.php.net/manual/en/book.dom.php
 
=== Beispiel ===
 
=== Beispiel ===
 
  https://stackoverflow.com/questions/143122/using-simplexml-to-create-an-xml-object-from-scratch
 
  https://stackoverflow.com/questions/143122/using-simplexml-to-create-an-xml-object-from-scratch
Zeile 22: Zeile 23:
 
echo htmlentities($domDoc->saveXML());
 
echo htmlentities($domDoc->saveXML());
 
</syntaxhighlight>
 
</syntaxhighlight>
Mit dem DOM Objekt Model sind recht einfache Manipulationen möglich:
+
Mit dem DOM sind recht flexible Manipulationen möglich:
 
  $elem->append($doc->p('This is a paragraph'));  
 
  $elem->append($doc->p('This is a paragraph'));  
 
  $elem->append('Some text');
 
  $elem->append('Some text');
 +
 +
== Mit XMLWriter ==
 +
https://www.php.net/manual/en/intro.xmlwriter.php
 +
https://www.php.net/manual/de/example.xmlwriter-simple.php
 +
 +
Soll einfacher sein als mit dem DOM Object
 +
<syntaxhighlight lang="php">
 +
$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));
 +
</syntaxhighlight>

Aktuelle Version vom 22. September 2021, 16:22 Uhr

Siehe auch[Bearbeiten]

SimpleXML

Mit dem DOM (Document Object Model)[Bearbeiten]

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

Beispiel[Bearbeiten]

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[Bearbeiten]

https://www.php.net/manual/en/intro.xmlwriter.php
https://www.php.net/manual/de/example.xmlwriter-simple.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));