如何从PHP中的@ xml属性中检索数据

时间:2012-02-23 02:29:22

标签: php xml

好的,所以我在PHP中坚持使用这个xml。考虑到我在我的整个生命中一直使用XML的前3个小时,我已经相当远了。

我无法从名称中包含@的XML内容中提取数据。见下文(显然我不会发布整个XML的东西,但你可以看到我是如何到达那里的。

SimpleXMLElement Object
(
[@attributes] => Array
    (
        [date] => 2010-09
        [reserved] => 6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
    )

)

我是如何到达那里的:

echo $this->General_functions->naked($xml->property[0]->availability->month[0]);

General_functions-> naked只是围绕给定属性包装和print_r的快速函数。

我的问题是,我如何获得@attributes内部的值因为无论我尝试什么我都无法弄明白。我在网上搜索了45分钟没有真正的答案。

提前致谢。 大卫

2 个答案:

答案 0 :(得分:4)

您需要使用attributes()方法将结果作为另一个类。因此,例如,要获取date属性:

$myElement->attributes()->date

另请注意,它不是字符串,而是SimpleXML属性。如果您想获得其实际值,则需要明确地将其强制转换为string

(string)$myElement->attributes()->date

答案 1 :(得分:1)

访问元素的属性,就像访问数组元素一样:

(string) $xml->property[0]->availability->month[0]['date']

编辑添加演员。