如何快速的识别出RSS的版本和类型
RSS 命名空间 Atom
现在写的代码只支持RSS2.0,我用socket取得响应内容.有什么方法能取得响应的内容是RSS1
RSS2
ATOM
RDF
如果解析标签的话太耗时,如果查看namespace的话有好多网站生成的feed,namespace都不写
有作过的同学指点一下
回复讨论(解决方案)
他们是各自独立的标准体系,你打算用同一个代码段来处理他们?
他们是各自独立的标准体系,你打算用同一个代码段来处理他们?
我会用一个方法或函数分析目标feed的响应。知道是atom或rss2,。。。其中的一个,然后交由相应的类来处理item或entry
RSS 均有版本声明的标签
既然你分别有相应的处理类,那么你想讨论的又是什么呢?
你说你用socket取得响应内容,那么就应视为流方式了
可以用内置的xml解析函数(xml_xxxx)来解析,不需要分别写处理类。扩展起来也方便
既然你分别有相应的处理类,那么你想讨论的又是什么呢?
re:
第一步:知道是rss2或atom,我问的是这个
第二步: 如果是rss2 ,委托rss2的处理类
如果是atom ,委托atom的处理类
第三步: 第二步会生成一个我写的标准类实例数组,加以处理
...
可以用内置的xml解析函数(xml_xxxx)来解析,不需要分别写处理类。扩展起来也方便
re:
我不是采过来就显示出来,我还要按我的标准写到数据库中.所以需要不同的处理类找到我需要的内容
feed 节点包含 xmlns 属性 atom 字样
rss 节点的 version 属性指示版本号
rdf 命名空间标识 RDF
只要你不是使用集成的XML处理类(DOMDocument、SimpleXML)处理起来还是很简单的,否则需要做探索(可能旭阳多次加载原始数据)
而xml解析函数只需要一次扫描(尤其是对于你的这种只抽取指定信息的应用)
feed 节点包含 xmlns 属性 atom 字样
rss 节点的 version 属性指示版本号
rdf 命名空间标识 RDF
只要你不是使用集成的XML处理类(DOMDocument、SimpleXML)处理起来还是很简单的,否则需要做探索(可能旭阳多次加载原始数据)
而xml解析函数只需要一次扫描(尤其是对于你的这种只抽取指定信息的应用)
谢谢。晚上回家写写
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也容易判断,就是有很多网站的rss2 都不写xmlns.这点太烦人
这是 ZendFramework 提供的一些格式(在 tests/Zend/Feed/_files 中,应该是比较全的)
tests/Zend/Feed/_files
re:
这个在哪可以访问,可以给个连接吗
既然是做 php 的,尽管不用,但也总是会下一个 ZendFramework 框架看看的吧?
我就下载有很多框架,有比较才能有鉴别
既然是做 php 的,尽管不用,但也总是会下一个 ZendFramework 框架看看的吧?
我就下载有很多框架,有比较才能有鉴别
还真没下过zf
写php只是打酱油
这是 ZendFramework 提供的一些格式(在 tests/Zend/Feed/_files 中,应该是比较全的)
我有一个疑惑如果同时存在rdf和rss的namespace哪光从namespace判断不准呀:
示例
<?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/">

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸
