php处理复杂xml数据示例

 更新时间:2016年07月11日 15:33:49   作者:dotcoo  
这篇文章主要介绍了php处理复杂xml数据的方法,结合实例形式分析了php针对xml格式数据的读取、载入、遍历、运算等相关操作技巧,需要的朋友可以参考下

本文实例讲述了php处理复杂xml数据的方法。分享给大家供大家参考,具体如下:

<?php
$xml = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
 <response>
  <result code="1000">
   <msg>Command completed successfully</msg>
  </result>
  <resData>
   <domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd">
    <domain:cd>
     <domain:name avail="0">qq.com</domain:name>
     <domain:reason>Domain exists</domain:reason>
    </domain:cd>
    <domain:cd>
     <domain:name avail="1">baidu.com</domain:name>
     <domain:reason>Domain exists</domain:reason>
    </domain:cd>
   </domain:chkData>
  </resData>
  <trID>
   <clTRID>REQ-001-0000000074</clTRID>
   <svTRID>649334436-1440642163169</svTRID>
  </trID>
 </response>
</epp>
XML;
$x = simplexml_load_string($xml);
echo intval($x->response->result["code"]), "\n";
echo strval($x->response->result->msg), "\n";
$ns = $x->response->resData->getNamespaces(true);
$cds = $x->response->resData->children($ns["domain"])->chkData->cd;
foreach ($cds as $key => $value) {
  echo intval($value->name->attributes()["avail"]), strval($value->name), strval($value->reason), "\n";
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • Linux下创建nginx脚本-start、stop、reload…

    Linux下创建nginx脚本-start、stop、reload…

    这篇文章主要介绍了Linux下创建nginx脚本-start、stop、reload的方法,需要的朋友可以参考下
    2014-08-08
  • PHP冒泡算法详解(递归实现)

    PHP冒泡算法详解(递归实现)

    本文是分享了一段使用递归实现php冒泡算法的代码,并记录了使用过程终于到的问题以及解决方法,有需要的小伙伴可以参考下哦
    2014-11-11
  • php性能优化之不要在for循环中操作DB

    php性能优化之不要在for循环中操作DB

    这篇文章主要为大家介绍了php性能优化之不要在for循环中操作DB示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • php curl返回错误码60如何解决

    php curl返回错误码60如何解决

    在本篇文章里小编给大家整理的是一篇关于php curl返回错误码60如何解决的方法,有需要的朋友们可以学习下。
    2021-09-09
  • 使用NetBeans + Xdebug调试PHP程序的方法

    使用NetBeans + Xdebug调试PHP程序的方法

    前些天发现通过Notepad++的DBGP插件结合PHP的xdebug扩展可以实现PHP文件调试,同时,介绍说包含了单步调试、监视变量还有跨文件调试。
    2011-04-04
  • php回调函数处理数组操作示例

    php回调函数处理数组操作示例

    这篇文章主要介绍了php回调函数处理数组操作,结合实例形式详细分析了PHP回调函数遍历与过滤数组相关操作技巧与注意事项,需要的朋友可以参考下
    2020-04-04
  • phpQuery采集网页实现代码实例

    phpQuery采集网页实现代码实例

    这篇文章主要介绍了phpQuery采集网页实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • PHP面向对象学习之parent::关键字

    PHP面向对象学习之parent::关键字

    在PHP中不能定义重名的函数,也包括不能再同一个类中定义重名的方法,所以也就没有方法重载。下面这篇文章主要给大家介绍了PHP面向对象之parent::关键字的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • MySQL时间字段究竟使用INT还是DateTime的说明

    MySQL时间字段究竟使用INT还是DateTime的说明

    今天解析DEDECMS时发现deder的MYSQL时间字段,都是用INT类型,随后又在网上找到这篇文章,看来如果时间字段有参与运算,用int更好,一来检索时不用在字段上转换运算,直接用于时间比较!二来如下所述效率也更高
    2012-02-02
  • WordPress中登陆后关闭登陆页面及设置用户不可见栏目

    WordPress中登陆后关闭登陆页面及设置用户不可见栏目

    这篇文章主要介绍了WordPress中登陆后关闭登陆页面及设置用户不可见栏目的方法,是多用户模式下比较实用的两个功能,需要的朋友可以参考下
    2015-12-12

最新评论