PHPによるRSSファイルの生成を改善する方法

WBOY
リリース: 2016-06-13 12:32:41
オリジナル
826 人が閲覧しました

RSS ファイルを生成するために PHP を改善してください
DOMDocument コンポーネントを使用して RSS ファイルを生成する PHP コードを書きましたが、クラスにカプセル化したいのですが、成功しません。質問するためにここに来ました。アドバイスを求めて
生成後の RSS は次のようになります

<チャンネル>
<アイテムid="1">


1123Wood
1
http://www.xxx.com
id:1,user_name:,pass:123,real_name:wood




2456小木
2
http://www.xxx.com
id:2,user_name:,pass:456,real_name:小木





もちろん、コードは冗長すぎます



$doc = 新しい DOMDocument('1.0','utf-8');
$doc->formatOutput = true;


//タグを作成
// RSSタグを作成
$rss = $doc->createElement('rss');
// チャンネルの下にタグを作成します
$channel = $doc->createElement('channel');
$ctitle = $doc->createElement('title');
$clink = $doc->createElement('link');
$cdescription = $doc->createElement('description');






foreach ($arr as $key => $val) {
//アイテムタグを作成
$item = $doc->createElement('item');
// item
の下にサブタグタグを作成します $user = $doc->createElement('user');
$ititle = $doc->createElement('title');
$ilink = $doc->createElement('link');
$idescription = $doc->createElement('description');
//ユーザータグを作成します
$user_id = $doc->createElement('user_id');
$user_name = $doc->createElement('user_name');
$user_pass = $doc->createElement('user_pass');
$real_name = $doc->createElement('real_name');
/*ここでデータベース ループ呼び出しが必要になります*/
//コンテンツを作成します
// item
の下にラベルのコンテンツを作成します $c_ittitle = $doc->createTextNode($val['user_id']);
$c_ilink = $doc->createTextNode('http://www.xxx.com');
$c_idescription = $doc->createTextNode('id:'.$val['user_id'].',user_name:'.$val['user_name'].',pass:'.$val['pass'] .',real_name:'.$val['real_name']);
// user
の下にタグのコンテンツを作成します $c_user_id = $doc->createTextNode($val['user_id']);
$c_user_name = $doc->createTextNode($val['user_name']);
$c_user_pass = $doc->createTextNode($val['pass']);
$c_real_name = $doc->createTextNode($val['real_name']);
//アイテム属性値を作成
$a_id = $doc->createTextNode($val['user_id']);


//属性を作成します
$attributes = $doc->createAttribute('id');
/*ここでデータベース ループ呼び出しが必要になります*/
// item の第 1 レベルタグの要素内容が継承されます
$ititle->appendChild($c_ititle);
$ilink->appendChild($c_ilink);
$idescription->appendChild($c_idescription);
// ユーザーの第 1 レベルのタグの要素内容を継承します
$user_id->appendChild($c_user_id);
$user_name->appendChild($c_user_name);
$user_pass->appendChild($c_user_pass);
$real_name->appendChild($c_real_name);
/*ここでデータベース ループ呼び出しが必要になります*/
//継承
$channel->appendChild($item);
//アイテムレベルタグのタグ継承
$item->appendChild($user);
$item->appendChild($ititle);
$item->appendChild($ilink);
$item->appendChild($idescription);
//id=1
$attributes->appendChild($a_id);
//
$item->appendChild($attributes);


//アイテムレベルタグのタグ継承
$user->appendChild($user_id);
$user->appendChild($user_name);
$user->appendChild($user_pass);
$user->appendChild($real_name);

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート