XMLReader::expand

(PHP 5 >= 5.1.0)

XMLReader::expandReturns a copy of the current node as a DOM object

Description

public DOMNode XMLReader::expand ([ DOMNode $basenode ] )

This method copies the current node and returns the appropriate DOM object.

Return Values

The resulting DOMNode or FALSE on error.

Коментарии

Автор:
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
2022-01-02 15:29:04
http://php5.kiev.ua/manual/ru/xmlreader.expand.html

    Поддержать сайт на родительском проекте КГБ