昨天接了个项目,需要和一个合作方做个url验证。由我像对方的提供的url发起请求,然后对方返回一个XML,我再根据XML的内容作下一步的处理。
当时看文档的时候我心想这还不简单,直接file_get_contents($url)不就OK 了,但是真正做的时候才发现不是那么一回事,我把file_get_contents获取的结果var_dump,结果是str(95) " ",就是说结果是一个字符串,但是字符串的内容却是" ",也就是空,这是怎么一回事呢?(后来我自己写了个XML,也用这个函数获取,虽然结果也是字符串,但是却是有值的字符串,说明那哥们写的XML有问题)
特地的写了一个程序测试下file_get_contents这个函数,汗,才发现原来它抓的是网页的源代码,不是网页的内容,以前一直以为抓的是内容。
那么就可以说明一个问题了,它抓的是源代码,如果是HTML,那么echo之后就直接在浏览器里面输出了网页的容,但是由于现在抓的是XML的源代码,那么var_dump的话其实是不能输出XML的。因为浏览器不认识这个。
那么怎么办呢?好办,先用file_get_contents远程抓取XML,再把抓取的结果用simplexml_load_string()处理就OK 啦。simplexml_load_string()读取的是XML,返回的是一个对象。那么下一个问题来了,如何获取对象里面的值呢?
simplexml_load_string()返回的是一个对象,那么我们可以这么写
<?php
$xml = file_get_contents($url);
$result = simplexml_load_string($xml);
var_dump($result); //可以打印看看结果如何
foreach($result->children() as $child) //获取XML对象里面的每一个子节点,也是一个类似于数组的对象
{
echo $child->name."<br>";
echo $child->address."<br>;
}
?>
这就把每一个节点的值都打印出来了。
分享到:
相关推荐
PHP解析XML文档,PHP解析XML文档,PHP解析XML文档
php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例
我写的很详细,代码是从网上摘的,但注释是我加的。欢迎大家下载
php快速解析xml已经试过,很好用。内赋了简单的使用方法,可以仿照例子进行解析。
计算机后端-ThinkPHP5商城系统+项目实战. xml教程3.1PHP解析XML.wmv
php解析xml 的四种简洁方法(附实例)_.docx
用php解析该xml文档,并以表格显示结果
下面小编就为大家带来一篇php解析xml 的四种简单方法(附实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
这是我收集的一个很不错的xml解析类,注释明确,包含例子,非常的好用
本文实例讲述了PHP解析xml格式数据工具类。分享给大家供大家参考,具体如下: class ome_xml { /** * xml资源 * * @var resource * @see xml_parser_create() */ public $parser; /** * 资源编码 * * @...
php 解析xml 的四种方法 XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument。 1。 XML Expat Parser: ...
详细讲述php对xml的处理问题,简单易懂,对于新手很有帮助
主要介绍了php解析xml方法,以实例形式详细分析了php解析XML的相关技巧,需要的朋友可以参考下
php递归解析xml ,解析成数组,然后通过Ext 传入到tree中,作为 原始数据
PHP解析XML 数据代码,用于PHP读取XML数据。
本文实例讲述了php遍历解析xml字符串的方法。分享给大家供大家参考,具体如下: <?php $content = <<<XML <?xml version="1.0" encoding="UTF-8"?> <ping>HTTP</ping> <ping>80 <ping>/index...