note 44051 added to function.domxml-open-mem
| From: | CarlWurtz at rn2 dot php dot net | Date: | Tue, 13 Jul 2004 17:01:27 +0000 |
| Subject: | note 44051 added to function.domxml-open-mem | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-73166@lists.php.net to get a copy of this message | ||
A recursive function that parses XML into objects:
$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"
----
Manual Page -- http://www.php.net/manual/en/function.domxml-open-mem.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+44051
Delete -- http://master.php.net/manage/user-notes.php?action=delete+44051&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+44051&report=yes
Search -- http://master.php.net/manage/user-notes.php