【问题标题】:Get enclosure tag from RSS feed that has colon in tagname using PHP使用 PHP 从标签名中带有冒号的 RSS 提要获取附件标签
【发布时间】:2020-03-15 18:30:54
【问题描述】:

我正在尝试从带有附件标签的 RSS 提要中获取图像,我认为该标签带有命名空间。

<enc:enclosure resource="path/to/image" type="image/jpeg"/>

我可以提取所有其他字段,但似乎 enc:enclosure 我失败了..

我试过这个没有成功::

'image' => $node->getElementsByTagNameNS($node->lookupNamespaceURI('enc:enclosure'), "resource")->item(0)->nodeValue,
'image' =>  $node->getElementsByTagNameNS("enc:enclosure", "resource")->item(0)->nodeValue,
 etc..

我得到所有其他可用的标签::

title' => $node->getElementsByTagName('title')->item(0)->nodeValue,

提取附件标签的正确方法是什么?

【问题讨论】:

    标签: php namespaces rss


    【解决方案1】:

    当调用lookupNamespaceURI() 时,你应该只传递前缀,你传递的是整个前缀和节点名。

    'image' => $node->getElementsByTagNameNS($node->lookupNamespaceURI('enc'), "enclosure")
                           ->item(0)->getAttribute("resource")
    

    【讨论】:

    • 哇,非常感谢!我已经为此苦苦挣扎了一段时间
    猜你喜欢
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 2011-08-29
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    相关资源
    最近更新 更多