note 70357 deleted from ref.dom by didou
| From: | didou@php.net | Date: | Sat, 30 Dec 2006 03:02:20 +0000 |
| Subject: | note 70357 deleted from ref.dom by didou | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-121037@lists.php.net to get a copy of this message | ||
Note Submitter: herwig dot huber at pythia dot at
----
Another XML2Array function:
<?
$xmldoc = '<?xml version="1.0" encoding="ISO-8859-1"?>
<Pythia>
<Car>
<CarId>123</CarId>
<CarName>Lada</CarName>
<CarDriver></CarDriver>
<CarOwner>Trotzky</CarOwner>
<Engine>
<Valves>12</Valves>
<Power>140PS</Power>
</Engine>
</Car>
</Pythia>';
$a = array();
function XmlToArray( &$a, $DomDocument )
{
foreach( $DomDocument->childNodes AS $ChildNode )
{
if ( $ChildNode->nodeName != '#text' )
{
//echo "<font color='red'>".$ChildNode->nodeName .
"</font>, " . $ChildNode->nodeValue . ", <font color=green>" .
$ChildNode->childNodes->length . "</font><BR>";
if ( $ChildNode->childNodes->length < 2 )
{
XmlToArray( $a, $ChildNode );
$a[ $ChildNode->nodeName ] = $ChildNode->nodeValue;
}
else
{
XmlToArray( $a[$ChildNode->nodeName], $ChildNode );
}
}
}
}
$xml = new DOMDocument();
$xml->LoadXML( $xmldoc );
XmlToArray( $a, $xml );
print_r( $a );
?>
output:
Array
(
[Pythia] => Array
(
[Car] => Array
(
[CarId] => 123
[CarName] => Lada
[CarDriver] =>
[CarOwner] => Trotzky
[Engine] => Array
(
[Valves] => 12
[Power] => 140PS
)
)
)
)