3

XML ドキュメントがあり、スラッシュ: コメントを使用しています。php を使用してこれらのノード内のものを取得しようとすると、うまくいきません。

これが私のコードです:

    <?php
$rss = new DOMDocument();
$rss->load('http://terrodactyl.netau.net/wordpress/?feed=rss2');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
    $item = array ( 
        'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
        'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
        'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
        'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
                    'commentcount' => $node->getElementsByTagName('slash:comments')->item(0)->nodeValue,
                    'creator' => $node->getElementsByTagName('dc:creator')->item(0)->nodeValue,
        );
    array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++) {
    $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
    $link = $feed[$x]['link'];
    $description = $feed[$x]['desc'];
    $date = date('l F d, Y', strtotime($feed[$x]['date']));
            $creator = $feed[$x]['creator'];
            $comments = $feed[$x]['commentcount'];
    echo "<div class=’blogpost primary_wide4’&gt;<h2>";
            echo "<h2>".$title."</h2><img class='left' src='images/image02.jpg' width='250' height='272' alt='' />";
    echo "<h3>Posted on ".$date."</h3>";
    echo "<p>".$description."</p>";
            echo "<p class='meta'>";
            echo "<span class='comments'><a href='".$link."'>".$comments."Comments</a></span>  ";
            echo " <span class='readmore'><a href='".$link."'> View Post</a></span></p>";
            echo "</div><br><br>";
}
?>

データにアクセスするにはどうすればよいですか (この場合は 0):

<slash:comments>0</slash:comments>

phpを使用していますか?

4

1 に答える 1

7

名前空間を含むタグを読み取ろうとしている場合は、 getElementsByTagNamesNS関数を使用します。そのフィードの XML から判断すると、次のようになります。

$slashNS = "http://purl.org/rss/1.0/modules/slash/";
echo $node->getElementsByTagNameNS($slashNS, 'comments')->item(0)->nodeValue;
于 2012-06-09T17:31:23.693 に答える