<?php
header('Content-type:text/html;charset=UTF-8');
$url = 'http://www.xxx.com/text.xml'; $content = str_replace('gb2312', 'UTF-8', file_get_contents($url));
$content = iconv('GBK', 'UTF-8', $content); // $content = utf8_encode($content);
// print_r($content);
// echo "<BR />************<BR />";
try{
$data = simplexml_load_string($content) or die('unable to load xml');
}catch(Excetion $e){
print_r($e->getMessage());
}
if(isset($data->Item)){
echo "ok<br />";
}else{
echo "error<br />";
} echo "<BR />************<BR />";
print_r($data); // $content = sxe($url);
// var_dump($content); function sxe($url)
{
$xml = file_get_contents($url);
foreach ($http_response_header as $header)
{
if (preg_match('#^Content-Type: text/xml; charset=(.*)#i', $header, $m))
{
switch (strtolower($m[1]))
{
case 'utf-8':
// do nothing
break; case 'iso-8859-1':
$xml = utf8_encode($xml);
break; default:
$xml = iconv($m[1], 'utf-8', $xml);
}
break;
}
} return simplexml_load_string($xml);
}

  

参考:

http://stackoverflow.com/questions/2899274/php-simplexml-why-does-simplexml-load-string-fail-to-parse-google-weather

http://bbs.csdn.net/topics/390070967#post-391437130

http://php.net/manual/zh/function.iconv.php

http://zhidao.baidu.com/question/157551132.html?fr=iks&word=php+%BD%E2%CE%F6xml%C2%D2%C2%EB&ie=gbk

simplexml_load_string 解析gb2312编码的xml的更多相关文章

  1. AJPFX解析关于编码ansi、GB2312、unicode与utf-8的区别

    大家平时遇到乱码问题是否有自己的一套解决方案?这篇文章就是介绍一下常用的编码方式关于编码ansi.GB2312.unicode与utf-8的区别 先做一个小小的试验: 在一个文件夹里,把一个txt文本 ...

  2. simplexml_load_string 解析xml

    <?php //simplexml_load_string 解析两种类型的xml $res='<?xml version="1.0" encoding="UT ...

  3. windows phone 7,sliverlight 下载网页的解析,关于wp7 gb2312编码

    原文:windows phone 7,sliverlight 下载网页的解析,关于wp7 gb2312编码 关于silverlight和wp7(windows phone 7)是默认不支持gb2312 ...

  4. [转]字符集、字符编码、XML中的中文编码

    字符集.字符编码.XML中的中文编码 作为程序员的你是不是对于ASCII .UNICODE.GB2321.UTF-7.UTF-8等等不时出现在你面前的这些有着奇怪意义的词感到很讨厌呢,是不是总觉得好象 ...

  5. 字符集、字符编码、XML中的中文编码

    字符集.字符编码.XML中的中文编码 作为程序员的你是不是对于ASCII .UNICODE.GB2321.UTF-7.UTF-8等等不时出现在你面前的这些有着奇怪意义的词感到很讨厌呢,是不是总觉得好象 ...

  6. 使用Dom解析器,操作XML里面的信息

    import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;impo ...

  7. .NET Core 中使用GB2312编码报错的问题

    错误描述 环境 dotnet 2.1.4 现象 当代码中使用 System.Text.Encoding.GetEncoding("GB2312") //或者 System.Text ...

  8. iOS:网络编程中三个数据解析协议HTTP、XML、JSON的详细介绍

    网络编程:HTTP协议.XML数据协议.JSON数据协议: HTTP: 1.HTTP传输数据有四种方式:Get方式.Post方式.同步请求方式.异步请求方式. 说明:同步和异步请求方式在创建链接对象和 ...

  9. Unicode gbk gb2312 编码问题 [转载]

    原文地址: http://www.cnblogs.com/csn0721/archive/2013/01/24/2875613.html HTML5 UTF-8 中文乱码   <!DOCTYPE ...

随机推荐

  1. Android SharedPreferences 见解

    今天突然遇到了SharedPreferences问题,虽然以前用过,但从没有深入的了解一下,今天就顺便深入了解一下,并总结一下,防止以后忘记. SharePreferences是Android平台上一 ...

  2. java基础回顾(二)——内部类

    一.常规内部类 public class Outer { int count; void say(){ count++; System.out.println("我是外部类"); ...

  3. Iphone5S 体验(视频+截图)

    Iphone5S眨眼从外观看和5区别不大,仔细一看后面,最大的变化还是闪光灯,内部使用了A7的处理器运算速度增强了不少.无论照相还是FaceTime摄像都非常清晰,就连常用的手电筒和动态天气预报都考虑 ...

  4. 智能指针(一):STL auto_ptr实现原理

    智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢? 指针与内存 说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就 ...

  5. linux网卡绑定

  6. (笔记)angular material 选项卡用法

  7. Overcome the Dilemma of "unlock" and "trust"

    When examining an Android phone, we have to overcome some barriers first so that we could extract da ...

  8. 电脑U盘启动总结

    1:联想G410(笔记本) FN+F2:进入BIOS,FN+F12,快速启动选择. boot mode—>Legacy support,boot priority—>Legacy firs ...

  9. Windows 2008修改密码策略方法

    Windows Server 2008默认强制要求定期更改密码,这个功能有时实在是让人烦不胜烦,适当情况下可以考虑关闭. 方法如下: 1.按windows键+R(或者点开始---动行)打开运行窗口,输 ...

  10. javaSE第五天

    第五天    22 1. 方法(掌握)    22 (1)方法:就是完成特定功能的代码块.    22 (2)格式:    22 (3)两个明确:    23 (4)方法调用    23 (5)案例: ...