php rss xml,php – 如何使用simplexml解析RSS中的标记
http://www.cnn.com/intl_index.html
...
http://www.cnn.com/2017/01/11/politics/russia-rejects-trump-allegations/index.html
http://www.cnn.com/2017/01/11/politics/russia-rejects-trump-allegations/index.html
Wed, 11 Jan 2017 14:44:49 GMT
...
如果您使用simplexml解析此XML,如下所示:
$rss = simplexml_load_file($url, null, LIBXML_NOCDATA);
$rssjson = json_encode($rss);
$rssarray = json_decode($rssjson, TRUE);
你会看到< media:content>在$rssarray项目中丢失了.所以我找到了一个带有“命名空间”解决方案的tutorial.但是,在示例中,作者使用:
foreach ($xml->channel->item as $item) { ... }
但我正在使用(出于某些原因不能使用foreach):
$rssjson = json_encode($rss);
$rssarray = json_decode($rssjson, TRUE);
所以我修改了我的案例的解决方案,如下所示:
$rss = simplexml_load_file($url, null, LIBXML_NOCDATA);
$namespaces = $rss->getNamespaces(true); // get namespaces
$rssjson = json_encode($rss);
$rssarray = json_decode($rssjson, TRUE);
if (isset($rssarray['channel']['item'])) {
foreach ($rssarray['channel']['item'] as $key => $item) {
$media_content = $rss->channel->item[$key]->children($namespaces['media']);
foreach($media_content as $tag) {
$tagjson = json_encode($tag);
$tagarray = json_decode($tagjson, TRUE);
}
}
}
但它不起作用.对于我在$tagarray中获得的每个项目,结果是具有以下结构的数组:
Array(
'content' => array(
'0' => array(null),
'1' => array(null),
...
'11' => array(null),
)
)
这是一个数组,其数量与< media:content>的数量一样多.标签,但每个项目都是空的.我需要获取每个项目的url属性.我做错了什么并得到一个空阵列?
解决方法:
标签实际上是空的:
^^
$rss = simplexml_load_file($url, null, LIBXML_NOCDATA);
$namespaces = $rss->getNamespaces(true);
$media_content = $rss->channel->item[0]->children($namespaces['media']);
foreach($media_content->group->content as $i){
var_dump((string)$i->attributes()->url);
}
我怀疑问题来自JSON技巧. SimpleXML动态生成所有类和属性(它们不是常规PHP类),这意味着您不能完全依赖标准PHP功能,如print_r()或json_encode().如果你在上面的循环中插入它,这会得到说明:
var_dump($i, json_encode($i), (string)$i->attributes()->url);
object(SimpleXMLElement)#2 (0) {
}
string(2) "{}"
string(91) "http://i2.cdn.turner.com/cnnnext/dam/assets/161115120658-trump-putin-t1-tease-super-169.jpg"
...
标签:php,tags,simplexml,rss,media
来源: https://codeday.me/bug/20190627/1308595.html
php rss xml,php – 如何使用simplexml解析RSS中的标记相关推荐
- php rss xml,php 一个完全面向对象的RSS/XML类的简单示例
这篇文章主要为大家详细介绍了php 一个完全面向对象的RSS/XML类的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 经测试代码如下: ...
- RSS Can:使用 Golang Rod 解析浏览器中动态渲染的内容:(四)
第四篇文章,来聊聊 Golang 生态中如何"遥控"浏览器,更简单.可靠的使用基于 CDP (Chrome DevTools Protocol)协议的浏览器作为容器,获取诸如微博. ...
- Java解析XML数据(三)——强大的XOM之simple-xml解析
前面已经了解了DOM和SAX两种解析方式,通过对比知道了DOM解析的核心是建立树模型,而SAX解析的核心是通过回调机制来实现.本篇文章将继续带大家用一种更为强大更为简单的工具来解析XML数据.我这里给 ...
- Java解析Rss(三)
2019独角兽企业重金招聘Python工程师标准>>> package com.ninemax.application.rss;import java.net.URL; import ...
- 分析rss/xml结构附带源码【原创】
Author:张继飞 <?xml version="1.0" encoding="UTF-8"?> <rss> <channel& ...
- rss spring 接口_spring mvc: rss(xml)输出
准备: rss包插件 Rome 库及其依赖项rome-utils,jdom和slf4j com.rometools rome 1.8.0 com.rometools rome-utils 1.8.0 ...
- C++学习之第八天-解析RSS文件
1.使用tinyXml2解析RSS文件,并生成一个网页库pagelib.dat. tinyXml2 -- https://github.com/leethomason/tinyxml2 rss ...
- php解析rss,PHP解析RSS的方法
这篇文章主要介绍了PHP解析RSS的方法,实例分析了php解析RSS的原理与XML文件的操作技巧,需要的朋友可以参考下 本文实例讲述了PHP解析RSS的方法.分享给大家供大家参考.具体如下:php代码 ...
- tinyxml2解析rss文件
参考资料:xml -> rss -> tinyxml -> regex xml:XML 教程 rss:RSS 教程 tinyxml2:TinyXML-2: TinyXML-2 reg ...
最新文章
- 基于Live555的多路视频流的流媒体服务器框架
- Android之解决ScrollView嵌套RecycleView导致滑动冲突或者显示不全的问题
- SQL SERVER 中 GO 的用法2
- JUNIT Hello World
- 没有到主机的路由_网络基础知识:TCP协议之跟踪路由
- URL传递中文、Ajax传递中文,Java如何编码如何解决乱码
- 2021 年全球知名开源项目
- MacBook2016在SSD上安装Win To Go(成功经验分享)
- CVPR 新规严禁审稿期间公开宣传论文,可发 arXiv,LeCun:疯了吧!
- CA数字证书包含哪些文件?如何查看SSL证书信息?
- 浏览器第二节:TCP协议:如何保证页面文件能被完整送达浏览器
- cherokee php,安装Cherokee与PHP5和MySQL支持在Mandriva 2009.1
- 动态规划-击爆气球 Burst Balloons
- c语言有理数字符形式,C语言设计实现抽象数据类型有理数基本操作包括有理数的加法,减法,乘法,除法,以及求有理数的分子,分...
- D3D9 简单图形的绘制以及显示
- Ask and Answer
- 认识微型计算机 ppt,认识微型计算机(PPT课件).ppt
- 采购工作内容是什么?如何成为一名优秀的采购?
- 定时任务与系统定时任务
- Redis缓存一致性问题解决方案
热门文章
- 力扣: 88. 合并两个有序数组
- c++中的向量容器(vector)
- 关于 \8 为56问题解答
- 新颖的自我介绍_简短有创意的自我介绍
- python 内部函数传参_python中函数传参详解
- 为什么 MySQL的常用引擎都默认使用 B+ 树作为索引?
- 有关于Java Map,应该掌握的8个问题
- 04-JDBC学习手册:JDBC中使用transaction(事务)编程和Javabean定义
- apache 版本_Apache Hudi 0.5.1版本重磅发布
- (Oracle学习笔记) Oracle体系结构