XMLReader::expand

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::expandGibt eine Kopie des aktuellen Knotens als DOM-Objekt zurück

Beschreibung

public XMLReader::expand(?DOMNode $baseNode = null): DOMNode|false

Diese Methode kopiert den aktuellen Knoten und gibt ihn als entsprechendes DOM-Objekt zurück.

Parameter-Liste

baseNode

Ein DOMNode, der das DOMDocument-Ziel für das erzeugte DOM-Objekt definiert.

Rückgabewerte

Entsprechendes DOMNode oder false bei Fehlern.

add a note

User Contributed Notes 1 note

up
0
Sbastien
3 years ago
XMLReader::expand() expands the current subtree to DOM. SimpleXML is good too. To avoid a warning like "Imported Node must have associated Document" when using simplexml_import_dom(), we can do :<?php // Huge XML compressed file$xml = XMLReader::open('compress.zlib:///path/to/my-data.xml.gz');// Targeting a tiny subtreewhile ($xml->name !== 'my-targeted-element') {    $xml->read();}// The trick is here...// Subtree is expanded in an empty document...$dom = $xml->expand(new DOMDocument());// ... which can be imported by SimpleXML$sx = simplexml_import_dom($dom);// We can now process our tiny subtree with SimpleXML $sx
To Top