как получить атрибуты с помощью PHP SimpleXML (в выводе mediawiki-api-xml)

Я пытаюсь получить список статей Mediawiki в мой php-скрипт. Я использую MediaWiki api.php с выходным XML.
Мои фиктивные данные выглядят так:

<api>
<query-continue>
<categorymembers cmcontinue="page|474c495353494552454e|162"/>
</query-continue>
<query>
<categorymembers>
<cm pageid="297" ns="0" title="Add move"/>
<cm pageid="116" ns="0" title="Ascanio-Spread"/>
<cm pageid="193" ns="0" title="Doublieren"/>
<cm pageid="358" ns="0" title="Down-under"/>
<cm pageid="274" ns="0" title="Einwegmuster"/>
<cm pageid="227" ns="0" title="Elmsley-Count"/>
<cm pageid="130" ns="0" title="Falsch abheben"/>
<cm pageid="144" ns="0" title="Falsch mischen"/>
<cm pageid="565" ns="0" title="Filieren"/>
<cm pageid="148" ns="0" title="Forcieren"/>
</categorymembers>
</query>
</api>

Я ищу все «названия» в cm-Containers.

Мой скрипт выглядит так:

 $xml = simplexml_load_file($mywiki);
foreach($xml->cm[0]->attributes() as $a => $b)
{
echo $a,'="',$b,"<br>";
}

Который предназначен, чтобы дать мне все атрибуты первого cm-контейнера. Но это не сработает, я получаю ошибку:

Call to a member function attributes() on null

0

Решение

Прежде всего: перед тем, как отправить вопрос, пожалуйста, будьте откровенны в своих усилиях по отладке. Вы должны были проверить это:

var_dump( $xml->cm[0] );

Затем вы можете сделать что-то вроде этого:

$xml->query[0]->categorymembers[0]->cm[0]

Идите по пути вниз к рассматриваемому узлу.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]