0

私は RSS フィード XML を作成しようとしていますが、XML がどのように見えるべきかの例を示しているサイトを見つけました。

<?xml version="1.0"?>
<rss version="2.0">
<channel>

<title>The Channel Title Goes Here</title>
<description>The explanation of how the items are related goes here</description>
<link>http://www.directoryoflinksgohere</link>

<item>
<title>The Title Goes Here</title>
<description>The description goes here</description>
<link>http://www.linkgoeshere.com</link>
</item>

<item>
<title>Another Title Goes Here</title>
<description>Another description goes here</description>
<link>http://www.anotherlinkgoeshere.com</link>
</item>

</channel>
</rss>

しかし、現在の XML を確認すると、xml および rss タグのバージョンが欠落していることに気付きました。

<xml>
<rss>
<channel>
<title>#####</title>
<description>
#####
</description>
<path>#####</path>

XML と RSS の開始タグにバージョンを追加するにはどうすればよいですか?

PHP

$newspages = $this->newspages;

$xml = new SimpleXMLElement('<xml/>');

$rss = $xml->addChild('rss');

$channel = $rss->addChild('channel');

$channel->addChild('title', txt('rss.channelname'));
$channel->addChild('description', txt('rss.channeldescription'));
$channel->addChild('path', 'http://'.$_SERVER['HTTP_HOST']);

foreach ($newspages as $newspage) {
    if ($newspage['id'] !== 'news-archive') {
        $item = $channel->addChild('item');
        $item->addChild('title', $newspage['title']);
        $item->addChild('description', $newspage['description']);
        $item->addChild('path', url('###/pageid', array('language'=>$this->language, 'id'=>$newspage['id'])));
    }
}

Header('Content-type: text/xml');

print($xml->asXML());
4

1 に答える 1

2

addAttribute メソッドを使用します。

<?php

$xml = new SimpleXMLElement('<xml/>');
$xml->addAttribute('version', '1.0');

$rss = $xml->addChild('rss');
$rss->addAttribute('version', '2.0');
于 2012-12-17T11:21:42.477 に答える