检索Blogger帖子网址

时间:2015-11-12 18:41:37

标签: php xml blogger

我尝试使用PHP和XML从Blogger中检索帖子:

$file="BLOG URL/atom.xml";
$xml = simplexml_load_file($file);

制作一个简单的循环:

foreach ($xml->entry as $foo) {
    echo '<h2>' . $foo->title . '</h2>';
    echo '<p>' . $foo->updated . '</p>';
    echo $foo->link;
}

唯一的问题是没有显示链接。

检查代码,每个帖子都有多个链接节点:

<link href="" rel="replies" title="Postar comentários" type="application/atom+xml"/>
<link href="" rel="replies" title="0 Comentários" type="text/html"/>
<link href="" rel="edit" type="application/atom+xml"/>
<link href="" rel="self" type="application/atom+xml"/>
<link href="" rel="alternate" title="" type="text/html"/>

可以通过他的类型atributte获取节点吗?

1 个答案:

答案 0 :(得分:1)

您可以通过循环链接并选择一个链接来实现此目的。所以改变:

foreach ($xml->entry as $foo) {
    echo '<h2>' . $foo->title . '</h2>';
    echo '<p>' . $foo->updated . '</p>';
    echo $foo->link;
}

要:

foreach ( $xml->entry as $foo ) {
    echo '<h2>' . $foo->title . '</h2>';
    echo '<p>' . $foo->updated . '</p>';
    foreach ( $foo->link as $link ) {
        $type = (string) $link->attributes()->{'type'};
        if ( $type == 'text/html' ) {
            echo (string) $link->attributes()->{'title'};;
        }
    }
}

'text/html'是您要选择的类型。