note 44051 modified in function.domxml-open-mem by didou
| From: | didou@php.net | Date: | Wed, 04 Aug 2004 10:57:41 +0000 |
| Subject: | note 44051 modified in function.domxml-open-mem by didou | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-73916@lists.php.net to get a copy of this message | ||
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"
?>
--was--
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"
http://php.net/manual/en/function.domxml-open-mem.php