如何使用 PHP SimpleXML 获取属性(在 mediawiki-api-xml 输出中)
how to get attributes using PHP SimpleXML (in mediawiki-api-xml output)
我正在尝试将 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
-容器中的所有 "titles"。
我的脚本如下所示:
$xml = simplexml_load_file($mywiki);
foreach($xml->cm[0]->attributes() as $a => $b)
{
echo $a,'="',$b,"<br>";
}
这是为了给我第一个cm-container的所有属性。但这行不通,我收到错误消息:
Call to a member function attributes() on null
首先:在发布问题之前,请明确说明您自己的调试工作。你应该检查过这个:
var_dump( $xml->cm[0] );
接下来,您可能希望执行以下操作:
$xml->query[0]->categorymembers[0]->cm[0]
沿着路径向下到达有问题的节点。
我正在尝试将 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
-容器中的所有 "titles"。
我的脚本如下所示:
$xml = simplexml_load_file($mywiki);
foreach($xml->cm[0]->attributes() as $a => $b)
{
echo $a,'="',$b,"<br>";
}
这是为了给我第一个cm-container的所有属性。但这行不通,我收到错误消息:
Call to a member function attributes() on null
首先:在发布问题之前,请明确说明您自己的调试工作。你应该检查过这个:
var_dump( $xml->cm[0] );
接下来,您可能希望执行以下操作:
$xml->query[0]->categorymembers[0]->cm[0]
沿着路径向下到达有问题的节点。