код <?php $url = 'http://iss.moex.com/iss/engines/stock/markets/shares/securities.xml'; $txt = $xml->data[1]->rows->row[1]; echo $txt; Что дописать далее, чтобы получить искомое значение "AFLT"? К сожалению, не могу разобраться как обратиться к данному атрибуту.
PHP: <?php $url = 'http://iss.moex.com/iss/engines/stock/markets/shares/securities.xml'; $xml = simplexml_load_file($url); $txt = $xml->data->rows->row[0]->attributes(); echo $txt['SECID']; Код (Text): AFLT
Лично мне, иногда проще использовать Xpath. PHP: <?php $xml = simplexml_load_file('http://iss.moex.com/iss/engines/stock/markets/shares/securities.xml'); // Первое значение атрибута echo $xml->xpath('//rows/row/@SECID')[0]; // AFLT // В цикле все значения $attrs = $xml->xpath('//rows/row/@SECID'); foreach($attrs as $attr) { echo $attr . PHP_EOL; }
alexblack, Deonis, благодарю за оба варианта. А как можно прописать, чтобы найти номер строчки по двум атрибутам? PHP: $t = "AFLT"; //искать в атрибуте 'SECID' $m = "TQBR"; //искать в атрибуте 'BOARDID' Соответственно, далее обратиться по номеру нужной строки: PHP: $txt = $xml->data[1]->rows->row['номер нужной строки']->attributes(); echo $txt['SECID'];
PHP: <?php $rows = $xml->xpath('//rows/row[@SECID="AFLT"][@BOARDID="TQBR"]'); foreach($rows AS $row){ print_r( $row->attributes() ); }