SimpleXML-无法获取第一个标记的属性

2022-04-13 00:00:00 php simplexml

我正在尝试读取XML的第一个标记的属性。 以下是XML结构

<myxml timestamp="1301467801">
    <tag1>value1</tag1>
    <tag2>value2</tag2>
    …
</myxml>

下面是我尝试获取时间戳属性的方法(尝试了两种方法,都在这里列出,都不起作用)

$timestamp = $xml->myxml->attributes()->timestamp; //gives Node no longer exists warning
if($xml->myxml && $xml->myxml->attributes()){ //Doesn't enter this loop
    $arr = $xml->myxml->attributes();
    $timestamp = $arr['timestamp'];
}

有人能告诉我如何获取属性值吗?谢谢。


解决方案

是因为$xml实际上指向根元素。正确用法应为:

$timestamp = $xml->attributes()->timestamp;

相关文章