Подскажите почему скрипт не проходит по всем тэгам "length" в xml файле... Он выводит только первый и ошибку.
XML-файл:
CODE ( text):
скопировать код в буфер обмена
<?xml version="1.0" encoding="UTF-8" ?> <root> <catalogue> <FILM_1_NAME> <name>FILM_NAME</name> <packages> <_pack1>shared <includes> <cd>_cd_name_<length>60.0</length></cd> <cd>_cd_name_<length>80.0</length></cd> <book>_book_name_<length>0.0</length></book> </includes> </_pack1> <_pack2>shared <includes> <misc>_misc_name_<length>5.0</length></misc> <book>_book_name_<length>0.0</length></book> </includes> </_pack2> <_pack3>shared </_pack3> </packages> </FILM_1_NAME> <FILM_2_NAME> <name>FILM_NAME</name> <packages> <_pack1>shared </_pack1> <_pack2>shared <cd>_cd_name_<length>30.0</length></cd> </_pack2> </packages> </FILM_2_NAME> </catalogue> </root>
Скрипт обработки:
CODE ( text):
скопировать код в буфер обмена
<?php $xml=simplexml_load_file("cat.xml"); $cat_array=array(); for($y=0,$i=0;$y<($xml->catalogue->children()[0]->packages->children()[$y]->includes->cd->count()),$i<($xml->catalogue->children()[0]->packages->children()->count());$y++,$i++) { if(!empty($xml->catalogue->children()[0]->packages->children()[$i]->includes->cd[$y])) { $cat_array[$y]=$xml->catalogue->children()[0]->packages->children()[$i]->includes->cd[$y]->length; } echo $cat_array[$y]."<br />"."y: ".$y."<br />"." x: ".$i; } ?>
Результат:
60.0
y: 0
x: 0
Notice: Undefined offset: 1 in C:\localweb\index.php on line 15
y: 1
x: 1
Fatal error: Call to a member function count() on a non-object in C:\localweb\index.php on line 7
|