LonghornPHP 2026

XMLReader::expand

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

XMLReader::expandDevuelve una copia del nodo actual como un nodo de objeto DOM

Descripción

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

Este método copia el nodo actual y devuelve el objeto DOM apropiado.

Parámetros

baseNode

Un DOMNode que define el objetivo DOMDocument para el objeto DOM creado.

Valores devueltos

El objeto DOMNode resultante o false en caso de error.

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
0
Sbastien
4 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 subtree
while ($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
+add a note

AltStyle によって変換されたページ (->オリジナル) /