如何使用simplexml访问像<game:title>这样的元素?</game:title>

时间:2009-08-20 16:43:26

标签: php xml simplexml

我正在尝试使用SimpleXML解析XML feed,这是XML树的一部分:

<item>
<game:name>Tetris</game:name> 
<game:desc>Way Cool Game</game:desc>
<size>5mb</size> 
</item>

实际上,我可以成功地使用类似的东西来访问“大小”:$item->size,但我如何获得价值?当然我不能这样称呼:$item->game:name,我不知道在调用':'之后会发生什么。它是参数,属性还是什么?

感谢您提前!

3 个答案:

答案 0 :(得分:2)

使用children()函数获取命名空间的子项。

$useThis = $xmlDoc->children("http://game.namespace/");

鉴于http://game.namespace是根节点中游戏命名空间的URL。

以下是解释/示例:

答案 1 :(得分:1)

您需要为游戏定义命名空间。 XML要求定义所有名称空间。以前有几个关于使用自定义命名空间的答案: 即

答案 2 :(得分:0)

至于获取SimpleXMLElement的值,只需将其转换为字符串:

$size_value = (string)$item->size;