Я пытаюсь получить список статей 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
Прежде всего: перед тем, как отправить вопрос, пожалуйста, будьте откровенны в своих усилиях по отладке. Вы должны были проверить это:
var_dump( $xml->cm[0] );
Затем вы можете сделать что-то вроде этого:
$xml->query[0]->categorymembers[0]->cm[0]
Идите по пути вниз к рассматриваемому узлу.
Других решений пока нет …