解决在php5中simple XML解析错误的问题
2004年7月,php5正式版本的发布,标志着一个全新的PHP时代的到来。PHP5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。今天小编要和大家分享教程是:解决在php5中simple XML解析错误的问题。
一、SimpleXML概念
在教程开始之前,小编先为大家简单的介绍一下SimpleXML的概念吧。其实SimpleXML函数是PHP核心的组成部分。无需安装即可使用这些函数。SimpleXML函数允许您把XML转换为对象。通过普通的属性选择器或数组迭代器,可以处理这个对象,就像处理任何其他对象一样。
小编在前一段时间,曾经尝试过使用simplexml函数来解析一个名为rss的数据源。小编发现这样子的话,可以非常轻松就获取得到了想要的结果。本来这是一件很开心的事情,但是没想到过了几天应用程序就开始报错。具体的报错信息,如下所示:
在最开始的时候,小编猜想仅仅只是php5的一个bug(缺陷)而已。但是经过小编在网上搜索资料,才发现这不是一个bug,相反有可能是rss数据源里面混杂了其它一些编程代码的字符。就是因为这样才会导致simplexml出现解析错误的情况.
换一句话说,假如说rss的声明是下面这个样子的话,具体的声明,如下所示:
PLAINTEXTXML:<?xmlversion="1.0"encoding="GB2312"?>
大家就会发现rss内容显示出来的内容一定要是gb2312才可以.
二、解决方案
那么大家知道有什么更好的解决方案吗?如果没有的话,不妨考虑下小编的建议吧。方法总的来说,还是比较简单的哟。
小编建议:首先我们先使用iconv转换编码,然后再修改encoding成为一个正确的编码就可以了。
解决在php5中simple XML解析错误的问题的更多相关文章
- ibatis配置文件中的XML解析错误The content of elements must consist of well-formed character data or markup.
在检查过所有的标签名都没有问题的情况下. xml中的小于号属于非法字符. SQL语句中则可能需要小于号,此时就需要用<![CDATA[ ]]>将小于号包裹,如此不会被xml解析器解析. ...
- XML 解析错误:找不到根元素
大家在开发web项目的过程中,可能会遇到“XML 解析错误:找不到根元素”这么一个问题,引起这个问题的原因可能有很多种,在这儿我只是跟大家分享一下我遇到一种情况. 1.项目背景描述 extjs 结合a ...
- 浏览器打开aspx文件 ,提示:XML 解析错误:找不到根元素
在使用VS2013这个IDE创建aspx文件后,在浏览器打开后居然发现了以下错误:XML 解析错误:找不到根元素 详细查看里面的信息,发现了这么一个链接位置:http://localh ...
- asp.net mvc 碰到 XML 解析错误:找不到根元素 位置
具体报错信息如下: XML 解析错误:找不到根元素 位置:moz-nullprincipal:{4a1d2b7c-6d07-468e-9df9-2267a0422c93} 行 1,列 1: 网上给出的 ...
- 火狐使用阿里云OOS上传图片报错:“XML 解析错误:找不到根元素”
问题描述: 使用阿里云OOS上传图片在火狐浏览器报错 "XML 解析错误:找不到根元素",但不影响功能的使用.阿里云返回信息: <Error> <Code> ...
- Android中的XML解析
在安卓中主要有三种XML文档解析方式:DOM(Document Object Model), SAX(Simple API for XML), PULL 他们的主要特点如下表: 特点 主要类 DO ...
- PHP中的XML解析的5种方法
[前言]不管是桌面软件开发,还是WEB应用,XML无处不在!然而在平时的工作中,仅仅是使用一些已经封装好的类对XML对于处理,包括生成,解析等.假期有空,于是将PHP中的几种XML解析方法总结如下: ...
- iOS 中的XML解析代码(SAX)
1.XML解析(SAX) NSXMLParser SAX 大文件 1)打开文档 - (void)parserDidStartDocument:(NSXMLParser *)parser 2)开始查找起 ...
- iOS 中的 xml 解析
在ios 中解析xml 的方法有很多种 1.苹果原生 NSXMLParser:SAX方式解析,使用简单 2.第三方框架 libxml2:纯c语言,默认包含在ios sdk中,同时支持DOM 和 SA ...
随机推荐
- nginx 搭建 rtmp 服务器
前言 最近接手了一个跟视频监控相关的项目,用了近年来越来越流行的 Web 服务器 nginx 加上 nginx-rtmp-module 搭建 rtmp 服务器.使用了阿里云的服务器,系统 Ubuntu ...
- 让函数的input、output更"函数化"
前言 我们都知道函数的基本形式为:output f(input),且先按这种形式进行input与output的分析,我们的input与output可以有更好的设计方式,而我们的output是选择使用r ...
- Educational Codeforces Round 7 B
Description You are given the current time in 24-hour format hh:mm. Find and print the time after a ...
- photoshop特效字体
一.3D效果字 3D效果文字给人以纵伸感.立体感和真实感,是商家常用到的一种宣传文字.虽然Photoshop软件是平面软件,但是在制作3D效果文字时却游刃有余. 3D效果字的制作可分以下三步完成. 输 ...
- Vue.js-----轻量高效的MVVM框架(四、指令)
Vue指令 指令 (Directives) 是特殊的带有前缀 v- 的特性.指令的值限定为绑定表达式,因此上面提到的 JavaScript 表达式及过滤器规则在这里也适用.指令的职责就是当其表达式的值 ...
- 转 Python多版本管理-pyenv
#######for linux https://www.cnblogs.com/saneri/p/7642316.html 经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python ...
- Serializable深入理解
1.什么是序列化,解决什么问题 序列化可以对象的状态信息转换成可以持久化或者可以传输形式的过程.一般是转为字节数据.而把字节数组还原成原来同等对象的过程成为反序列化. 在Java中,对象的序列化与反序 ...
- Hidden Markov Models笔记
Andrew Ng CS229 讲义: https://pan.baidu.com/s/12zMYBY1NLzkluHNeMNO6MQ HMM模型常用于NLP.语音等领域. 马尔科夫模型(Markov ...
- 关于TCP 半连接队列和全连接队列
关于TCP 半连接队列和全连接队列 http://jm.taobao.org/2017/05/25/525-1/ 发表于 2017-05-25 | 作者 蛰剑 | 分类于 网络 ...
- LeanTouch控制移动
Lean_Touch控制移动 using UnityEngine; using System.Collections; using System.Collections.Generic; using ...