Будем рассматривать интерфейс X11 - он содержит все необходимые структуры данных.
Выведем весь ответ и изучим его:
PHP код:
<?php
include('_header.php');
# http://wiki.webmoney.ru/wiki/show/Interfeys_X11
$res = $wmxi->X11(
ANOTHER_WMID, # WM-идентификатор аттестата
0, # отображение “опорного словаря”
0, # отображение персональных данных(паспортные данные+контактная информация) владельца аттестата
0 # проверка принадлежности WM-идентификатора, подписавшего запрос, списку доверенных идентификаторов для проверяемого аттестата
);
$data = $res->toObject();
print_r($data);
?>
Код:
SimpleXMLElement Object
(
[@attributes] => Array
(
[retval] => 0
)
[fullaccess] => 0
[certinfo] => SimpleXMLElement Object
(
[@attributes] => Array
(
Дерево, в котором два типа элементов:
- SimpleXMLElement Object
- Array
К первым элементам досткпаются так, как к методам объекта:
PHP код:
print_r($data->certinfo->wmids);
Ко вторым - как к массиву, соотвественно:
PHP код:
print_r($data->certinfo['wmid']);
Есть ещё третий вариант - список объектов. Там необходимо указывать порядковый номер объекта в списке:
PHP код:
print_r($data->certinfo->wmids->row[0]['wmid']);
В третьем примере элементов <row /> может быть несколько - по количеству присоединенных ВМИДов, следовательно, правильно их итерировать.
Если элемент один, то можно указывать и так:
PHP код:
print_r($data->certinfo->wmids->row['wmid']);
Несколько элементов можно перебрать стандартными средствами PHP:
PHP код:
foreach($data->certinfo->wmids->row as $row) {
print_r($row);
}
Не забывайте, что нужные значения, которые вы извлекли таким образом, все равно SimpleXMLElement Object, поэтому их необходимо преобразовать к нужному типу, чаще всего к строке:
PHP код:
print_r(strval($data->certinfo->wmids->row['wmid']));