初学者试图将xml读入php

Mat*_*att 2 php xml domdocument

我有一个xml feed位于这里,我试图读入一个PHP脚本,然后循环<packages>,并总结<downloads>.我试图使用DOMDocument做到这一点,但迄今为止失败了.

我一直试图使用的基本方法如下

<?php
$dom = new DomDocument;
$dom->loadXML('http://www.phogue.net/feed');
$packages = $dom->getElementsByTagName('package');
foreach($packages as $item)
{
    echo $item->getAttribute('uid').'<br>';
}
?>
Run Code Online (Sandbox Code Playgroud)

上面的代码只是打印出每个项目的名称,但它不起作用.我目前收到以下错误

警告:DOMDocument :: loadXML()[domdocument.loadxml]:在第3行的/home/a8744502/public_html/userbar.php中,在Entity中找不到"<",第1行:

工作代码:

<?php
$dom = new DomDocument;
$dom->load('http://www.phogue.net/feed/');
$package = $dom->getElementsByTagName('package');
$value=0;

foreach ($package as $plugin) {

    $downloads = $plugin->getElementsByTagName("downloads");
    $download = $downloads->item(0)->nodeValue;

    $authors = $plugin->getElementsByTagName("author");
    $author = $authors->item(0)->nodeValue;
    if($author == "Zaeed")
    {
        $value += $download;
    }
}
echo $value;
?>
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 8

DOMDocument::loadXML()需要一串XML.请尝试DOMDocument::load()- http://www.php.net/manual/en/domdocument.load.php

请记住,要通过HTTP打开XML文件,您需要启用相应的包装器.