使用命名空间从xml标记获取属性

时间:2012-10-17 06:12:45

标签: php xml xml-parsing simplexml

  

可能重复:
  PHP namespace simplexml problems

我有一部分xml:

<item>
    <source url="eurosport.com">Eurosport</source>
    <media:content url="http://media.zenfs.com/en_GB/Sports/Eurosport/900589-15042881-640-360.jpg" type="image/jpeg" width="130" height="86" />
</item>

我使用SimpleXMLElement()将文本xml数据转换为SimpleXML元素对象。我可以访问item作为$item

我需要获得url的{​​{1}},但我无法这样做。任何人都可以帮助我吗?

P.S:试过这个,但没有帮助..

media:content

2 个答案:

答案 0 :(得分:1)

使用SimpleXMLElement()

的xPath()方法
var_export($item->xpath('media:content'));

答案 1 :(得分:1)

您需要使用->children()方法选择正确的命名空间:

foreach ($item->children('media', true)->content->attributes() as $key => $val) {
        return (string)$val; 
}