Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
php:dom_xml [2015/12/19 00:00] 127.0.0.1 Externe Bearbeitung |
php:dom_xml [2022/09/28 11:49] (aktuell) webproducer Troubleshooting; htmlspecialchars |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== XML-Dokument mit DOM erstellen ====== | ====== XML-Dokument mit DOM erstellen ====== | ||
| - | ==== Erweiterung eines bestehendem DOM-Objektes um Elemente aus einem Array ==== | + | ==== Einfaches Beispiel ==== |
| + | <code php> | ||
| + | $dom = new DOMDocument( '1.0', 'UTF-8' ); | ||
| + | $dom->xmlStandalone = true; | ||
| + | $dom->formatOutput = true; | ||
| + | |||
| + | $adressen = $dom->createElement( 'Adressen' ); | ||
| + | $dom->appendChild( $adressen ); | ||
| + | |||
| + | $lieferanschrift = $dom->createElement( 'Lieferanschrift' ); | ||
| + | $lieferanschrift->appendChild( $dom->createElement( 'Strasse', 'Teststraße' ) ); | ||
| + | $lieferanschrift->appendChild( $dom->createElement( 'Postleitzahl', 12345 ) ); | ||
| + | $lieferanschrift->appendChild( $dom->createElement( 'Ort', 'Testort' ) ); | ||
| + | $adressen->appendChild($lieferanschrift ); | ||
| + | |||
| + | $rechnungsanschrift = $dom->createElement( 'Rechnungsanschrift' ); | ||
| + | $rechnungsanschrift->appendChild( $dom->createElement( 'Strasse', 'Teststraße' ) ); | ||
| + | $rechnungsanschrift->appendChild( $dom->createElement( 'Postleitzahl', 12345 ) ); | ||
| + | $rechnungsanschrift->appendChild( $dom->createElement( 'Ort', 'Testort' ) ); | ||
| + | $adressen->appendChild( $rechnungsanschrift ); | ||
| + | |||
| + | echo $dom->saveXML(); | ||
| + | </code> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Erweiterung eines bestehendem DOM-Objektes um Elemente aus einem Array ==== | ||
| <code php> | <code php> | ||
| Zeile 66: | Zeile 92: | ||
| </code> | </code> | ||
| + | |||
| + | ==== Troubleshooting ==== | ||
| + | |||
| + | Bestimmte Zeichen dürfen in einem XML-Dokument nicht vorkommen und müssen zuvor umgewandelt werden: | ||
| + | |||
| + | * & (kaufmännisches UND) | ||
| + | * < (kleiner als) | ||
| + | * > (größer als) | ||
| + | |||
| + | Mit der PHP-Funktion htmlspecialchars können diese Zeichen umgewandelt werden: | ||
| + | |||
| + | * $val = htmlspecialchars( $val, ENT_XML1, 'UTF-8' ); | ||
| + | |||