ホームページ > バックエンド開発 > PHPチュートリアル > RSS のバージョンと種類をすばやく特定する方法

RSS のバージョンと種類をすばやく特定する方法

WBOY
リリース: 2016-06-23 14:13:48
オリジナル
981 人が閲覧しました

RSS 名前空間 Atom

現在作成しているコードは RSS2.0 のみをサポートしています。応答コンテンツを取得するためにソケットを使用しています。
RSS1
RSS2
ATOM
RDF


タグを解析するのに時間がかかりすぎる 名前空間を見ると、Web サイトによって生成されたフィードがたくさんありますが、名前空間は書かれていません

やったことがある学生の中には、いくつかのアドバイスを与えることができます

ディスカッションに返信 (解決策)

これらは独立した標準システムであり、それらを処理するために同じコード スニペットを使用する予定ですか?

これらは独立した標準システムであり、同じコードセグメントを使用して処理する予定ですか?

メソッドまたは関数を使用して、対象のフィードの応答を分析します。それがatomかrss2であることは知っています。 。 。次に、そのうちの 1 つが対応するクラスに渡されて、項目またはエントリが処理されます

RSS にはバージョン宣言タグがあります

対応する処理クラスがあるので、何を議論したいのですか?

応答内容を取得するためにソケットを使用すると述べましたが、それはストリーミングメソッドと見なされるべきです
別の処理クラスを作成せずに、組み込みの XML 解析関数 (xml_xxxx) を使用して解析できます。拡張も簡単です

対応する処理クラスがあるので、何を議論したいですか?
re:
第一段階: RSS2 か atom かを知る、私が質問したのはこれです

第二段階: RSS2 なら RSS2 の処理クラスを任せる
アトムならアトムの処理クラスを任せる

3 番目のステップ: 2 番目のステップは、私が作成した標準クラス インスタンスの配列を生成し、それらを処理します

...

これは、組み込みの XML 解析関数 (xml_xxxx) を使用して解析できます。別の処理クラスを作成する必要があります。展開するのも便利です
re:

単に収集して表示するだけでなく、自分の基準に従ってデータベースに書き込む必要があるため、必要なコンテンツを見つけるにはさまざまな処理クラスが必要です

。フィードノードには単語 xmlns 属性 atom が含まれます
RSS ノードの version 属性はバージョン番号を示します
rdf 名前空間識別子 RDF

統合された XML 処理クラス (DOMDocument、SimpleXML) を使用していない限り、処理は依然として非常に複雑ですシンプルですが、そうでない場合は探索を行う必要があります (Xuyang は元のデータを複数回ロードする可能性があります)
XML 解析関数は 1 回のスキャンのみを必要とします (特に、指定された情報のみを抽出するアプリケーションの場合)

フィード ノードには単語「xmlns」属性が含まれます"atom"
RSS ノードの "version" 属性はバージョン番号を示します
rdf "名前空間識別子" RDF

統合 XML 処理クラス (DOMDocument、SimpleXML) を使用しない限り、処理は依然として非常に単純ですが、それ以外の場合は、探索を行う必要があります (Xuyang は元のデータを複数回ロードする可能性があります)
XML 解析関数は 1 回のスキャンのみを必要とします (特にこの種のアプリケーションは指定された情報のみを抽出します)
ありがとうございます。家に帰って夕方書きます

atom: xmlns="http://www.w3.org/2005/Atom"
rdf: xmlns:rdf="http://www.w3.org/1999/02/ 22- rdf-syntax-ns#"
rss2 : xmlns:dc="http://purl.org/dc/elements/1.1/"

どれも xmlns を書いているかどうかは判断しやすいですが、多くの Web サイトがありますこれは面倒すぎます

これらは ZendFramework によって提供されるいくつかの形式です (tests/Zend/Feed/_files では、比較的完全なはずです)
<フィード xmlns="http://www.w3.org/2005/Atom">


テスト/Zend /Feed/_files

re:

どこにアクセスできますか? リンクを教えていただけますか?

私は PHP を使っているので、たとえそれを使用していなくても、常に次の ZendFramework フレームワークを参照します。

たくさんのフレームワークをダウンロードして、それらを比較することで識別できます

私は PHP を使っているので、たとえそれを使用していなくても、次にダウンロードした ZendFramework フレームワークを常に参照します。多くのフレームワークがあり、それらを比較することによってのみ識別できます
ZF をダウンロードしたことはありません

PHP しか書きません 醤油を作ります

これらは、ZendFramework によって提供されるいくつかの形式です (tests/Zend/Feed/_files では、比較的完全なはずです)

< ; rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-s...


質問があります。rdf 名前空間と RSS 名前空間の両方がある場合、どのように判断すればよいですか?名前空間だけですか? そうです:

<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet type='text/xsl' href='http://cnbeta.feedsportal.com/xsl/eng/rss.xsl'?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"      xmlns:dc="http://purl.org/dc/elements/1.1/"      xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" version="2.0"><channel>
ログイン後にコピー


または

<?xml version="1.0" encoding="utf-8"?><rdf:RDF  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  xmlns:dc="http://purl.org/dc/elements/1.1/"  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"  xmlns:admin="http://webns.net/mvcb/"  xmlns:cc="http://web.resource.org/cc/"  xmlns="http://purl.org/rss/1.0/"><channel rdf:about="http://www.w3.org/">
ログイン後にコピー

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