Еще для тех, у кого нет PHP5 или нужно обработать BonReq's, которые SimpleXML не берет. Структура получается сложнее SimpleXML, однако полнее:
[php]<?php
function readXml($domnode, &$array)
{
$array_ptr = &$array;
$domnode = $domnode->firstChild;
while (!is_null($domnode))
{
switch ($domnode->nodeType)
{
case XML_TEXT_NODE: if(!(trim($domnode->nodeValue) == ""))
$array_ptr['cdata'] = $domnode->nodeValue;
break;
case XML_ELEMENT_NODE:
$array_ptr = &$array[$domnode->nodeName][];
if ($domnode->hasAttributes() )
{
$attributes = $domnode->attributes;
foreach ($attributes as $index => $domobj)
{
$array_ptr[$domobj->name] = $domobj->value;
}
}
break;
}
if ( $domnode->hasChildNodes() )
{
readXml($domnode, $array_ptr);
}
$domnode = $domnode->nextSibling;
}
}
$ar = array();
$api = @file_get_contents("http://haddan.ru/inner/api.php?op=thing&fields=all&ttid=1");
$d = new DOMDocument();
$d->LoadXML($api);
readXml($d, $ar);
print_r($ar);
?>[/php]
__________________
Relax, Take It Easy: Халявы. Не. Будет.
Today is gonna be the day
That they`re gonna throw it back to you
|