You appear to be a bot. Output may be restricted
Description
Finds XML nodes by a given "path".
Example usage:
- $tree = xml_to_array( $rss );
- $items = xml_find( $tree, 'rss', 'channel', 'item' );
Usage
$array = xml_find( $tree, $elements );
Parameters
- $tree
- ( array ) required – An array tree structure of XML, typically from xml_to_array().
- $elements
- ( mixed ) optional –
Returns
array Array of matching XML node information.
Source
File name: wordpress-develop-tests/phpunit/includes/utils.php
Lines:
1 to 24 of 24
function xml_find( $tree, ...$elements ) { $n = count( $elements ); $out = array(); if ( $n < 1 ) { return $out; } for ( $i = 0; $i < count( $tree ); $i++ ) { # echo "checking '{$tree[$i][name]}' == '{$elements[0]}'\n"; # var_dump( $tree[$i]['name'], $elements[0] ); if ( $tree[ $i ]['name'] === $elements[0] ) { # echo "n == {$n}\n"; if ( 1 === $n ) { $out[] = $tree[ $i ]; } else { $subtree =& $tree[ $i ]['child']; $out = array_merge( $out, xml_find( $subtree, ...array_slice( $elements, 1 ) ) ); } } } return $out; }