note 44051 deleted from function.domxml-open-mem by sobak

From: Date: Tue, 22 Nov 2016 03:42:02 +0000
Subject: note 44051 deleted from function.domxml-open-mem by sobak
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-207418@lists.php.net to get a copy of this message
Note Submitter: Carl Wurtz ---- A recursive function that parses XML into objects: <?php $xmlstg = '<?xml version="1.0"?'; $xmlstg .= '><candy><anatomically_shaped><head_to_bite_off>chocolate bunnies</head_to_bite_off><headless>gummi worms</headless></anatomically_shaped></candy>'; $dom = domxml_open_mem($xmlstg); $root = $dom->document_element(); $root->name = '$candy'; function parse_node($node) { global $candy; if ($node->has_child_nodes()) { foreach($node->child_nodes() as $n) { if ($n->node_name() == '#text') { eval("$node->name=\"" . $n->node_value() . "\";"); } else { $n->name = $node->name . '->' . $n->node_name(); parse_node($n); } } } } parse_node($root); echo $candy->anatomically_shaped->head_to_bite_off; // echos "chocolate bunnies" ?>

« previous php.notes (#207418) next »