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' ); | ||
+ |