note 70357 added to ref.dom
| From: | herwig dot huber at pythia dot at | Date: | Thu, 12 Oct 2006 20:09:25 +0000 |
| Subject: | note 70357 added to ref.dom | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-118472@lists.php.net to get a copy of this message | ||
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
)
)
)
)
----
Server IP: 194.153.94.10
Probable Submitter: 84.72.246.18
----
Manual Page -- http://www.php.net/manual/en/ref.dom.php
Edit -- https://master.php.net/note/edit/70357
Del: integrated -- https://master.php.net/note/delete/70357/integrated
Del: useless -- https://master.php.net/note/delete/70357/useless
Del: bad code -- https://master.php.net/note/delete/70357/bad+code
Del: spam -- https://master.php.net/note/delete/70357/spam
Del: non-english -- https://master.php.net/note/delete/70357/non-english
Del: in docs -- https://master.php.net/note/delete/70357/in+docs
Del: other reasons-- https://master.php.net/note/delete/70357
Reject -- https://master.php.net/note/reject/70357
Search -- https://master.php.net/manage/user-notes.php