0

RSSXMLファイルを更新するスクリプトを作成しようとしています。既存のファイルを取得して、アイテムリストの一番上に新しいアイテムを追加したいと思います。以前にファイルの最後に追加するように取得しましたが、現在は新しいアイテムをまったく追加していません。私はオンラインでチェックしてきましたが、それでも動作させることができません。これが私がこれまでに持っているものです:

$rssDoc = new DOMDocument();
$rss_file = $_SERVER['DOCUMENT_ROOT'].'/test_site/feed.xml';
$rssDoc->load($rss_file);
$items = $rssDoc->getElementsByTagName('item');

$newItem = $rssDoc->createElement('item');
$rssTitle = $rssDoc->createElement('title');
$rssTitle->appendChild($rssDoc->createTextNode($title));
$newItem->appendChild($rssTitle);

$rssDesc = $rssDoc->createElement('description');
$rssDesc->appendChild($rssDoc->createTextNode($string));
$newItem->appendChild($rssDesc);

$rssLink = $rssDoc->createElement('link');
$rssLink->appendChild($rssDoc->createTextNode($link));
$newItem->appendChild($rssLink);

$rssDate = $rssDoc->createElement('pubDate');
$rssDate->appendChild($rssDoc->createTextNode($pubDate));
$newItem->appendChild($rssDate);

$firstItem = $items->item(0);
$firstItem->insertBefore($newItem,$firstItem->firstChild);

$rssDoc->formatOutput = true;
echo $rssDoc->saveXML();

私は何が欠けていますか?

4

2 に答える 2

1

「何が足りないの?」

出力: http: $rssDoc->save( 'filename.xml' ) //php.net/domdocument.save.php

于 2012-06-20T14:05:07.600 に答える
1

私はそれを働かせました。これらの行を変更しました:

$firstItem = $items->item(0);
$firstItem->insertBefore($newItem,$firstItem->firstChild);

この行に:

$items->item(0)->parentNode->insertBefore($newItem,$items->item(0));
于 2012-06-20T14:42:14.867 に答える