我有下面的XML的结构:无法从XML文件属性与自定义命名空间
<?xml version="1.0" encoding="utf-8"?>
<psc:chapters version="1.2" xmlns:psc="http://podlove.org/simple-chapters">
<psc:chapter start="00:00:12.135" title="Begrüßung" />
<psc:chapter start="00:00:20.135" title="Faktencheck: Keine Werftführungen vor 2017" />
<psc:chapter start="00:02:12.135" title="Sea Life Timmendorfer Strand"" />
我需要拿到冠军,并开始属性。 我已经设法获得的元素:
$feed_url="http://example.com/feed.psc";
$content = file_get_contents($feed_url);
$x = new SimpleXmlElement($content);
$chapters=$x->children('psc', true);
foreach ($chapters as $chapter) {
$unter=$chapter->children();
print_r($unter);
}
的输出是一样的东西:
SimpleXMLElement Object
(
[@attributes] => Array
(
[start] => 00:00:12.135
[title] => Begrüßung
)
)
当我现在遵循的答案在这里SO多个问题得到@属性:
echo $unter->attributes()["start"];
我刚收到一个空的结果。
(更新) print_r($unter->attributes())
返回一个空对象:
SimpleXMLElement Object
(
)
你已经得到了正确的答案,但澄清:属性是不是在一个命名空间 - 只用一个前缀属性可以在一个命名空间(不像元素节点)。此外,我建议使用实际的命名空间,而不是别名/前缀:'$ x-> children('http://podlove.org/simple-chapters');' – ThW