全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP使用DOM和simplexml读取xml文档的方法示例

本文实例讲述了PHP使用DOM和simplexml读取xml文档的方法。分享给大家供大家参考,具体如下:

实例  用DOM获取下列xml文档中所有金庸小说的书名,该xml文档所在位置为 ./books.xml:

<?xml version="1.0" encoding="utf-8"?>
<root>
 <book>
  <title>天龙八部</title>
  <author>金庸</author>
 </book>
 <book>
  <title>陆小凤</title>
  <author>古龙</author>
 </book>
 <book>
  <title>倚天屠龙记</title>
  <author>金庸</author>
 </book>
 <book>
  <title>西游记</title>
  <author>吴承恩</author>
 </book>
 <book>
  <title>神雕侠侣</title>
  <author>金庸</author>
 </book>
 <book>
  <title>射雕英雄传</title>
  <author>金庸</author>
 </book>
</root>

用DOM代码实现:

DOM读取xml文档步骤:1、创建DOM对象——》2、载入DOM文档内容——》3、截取要读取内容所在的标签——》获得要读取的内容。

header('Content-type:text/html;charset=utf-8');
$arr=array();
$dom = new DOMDocument();//创建DOM对象
$dom->load('./books.xml');//载入xml文档
print_r($dom);
echo '<hr>';
$dom = $dom->getElementsByTagName('book');//截取标签
for($i=0;$i<$dom->length;$i++){
 if($dom->item($i)->childNodes->item(1)->childNodes->item(0)->wholeText=='金庸'){
  $arr[] = $dom->item($i)->childNodes->item(0)->childNodes->item(0)->wholeText.'<br />';//获取内容
 }
}
print_r($arr);

使用 getElementsByTagName 和 childNodes 后返回的都是对象,所以它们后面必须使用 item(int),哪怕它们返回的对象里面只包含一个项目,也必须用item(0)来指定,否则就会出错。

用simplexml代码实现:

$simxml = simplexml_load_file('./books.xml');
$t = $simxml->book;
$arr=array();
foreach ($t as $v){
 if($v->author=='金庸'){
  $arr[] = (string)$v->title;
 }
}
print_r($arr);

使用 simplexml_load_file 后返回的是对象,该对象里的项目既有对象又有数组,不管是对象还是数组,要循环里面的内容都可以用 foreach。该实例最后获取的内容 $v->title 其实是个对象,所以要用 string 转化为字符串。

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools./code/xmljson

在线格式化XML/在线压缩XML
http://tools./code/xmlformat

XML在线压缩/格式化工具:
http://tools./code/xml_format_compress

XML代码在线格式化美化工具:
http://tools./code/xmlcodeformat

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

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


# PHP  # DOM  # simplexml  # 读取  # xml文档  # PHP读取XML值的代码(推荐)  # 用PHP编写和读取XML的几种方式  # PHP中使用xmlreader读取xml数据示例  # PHP读取XML格式文件的方法总结  # DOM基础及php读取xml内容操作的方法  # php通过正则表达式记取数据来读取xml的方法  # php中使用DOM类读取XML文件的实现代码  # php读取XML的常见方法实例总结  # PHP简单读取xml文件的方法示例  # PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】  # 文档  # 操作技巧  # 程序设计  # 的是  # 都是  # 西游记  # 就会  # 是个  # 相关内容  # 可以用  # 又有  # 感兴趣  # 给大家  # 要用  # 转化为  # 更多关于  # 所述  # 几款  # 古龙  # 面向对象 


相关文章: 测试制作网站有哪些,测试性取向的权威测试或者网站?  建设网站制作价格,怎样建立自己的公司网站?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  广东企业建站网站优化与SEO营销核心策略指南  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  家庭服务器如何搭建个人网站?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  定制建站是什么?如何实现个性化需求?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何在云服务器上快速搭建个人网站?  定制建站策划方案_专业建站与网站建设方案一站式指南  如何选择可靠的免备案建站服务器?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  如何在建站之星网店版论坛获取技术支持?  家具网站制作软件,家具厂怎么跑业务?  简历在线制作网站免费版,如何创建个人简历?  网站制作免费,什么网站能看正片电影?  图册素材网站设计制作软件,图册的导出方式有几种?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何用景安虚拟主机手机版绑定域名建站?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  郑州企业网站制作公司,郑州招聘网站有哪些?  建站之星微信建站一键生成小程序+多端营销系统  手机网站制作与建设方案,手机网站如何建设?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  江苏网站制作公司有哪些,江苏书法考级官方网站?  建站VPS选购需注意哪些关键参数?  javascript中的try catch异常捕获机制用法分析  浅谈Javascript中的Label语句  济南网站建设制作公司,室内设计网站一般都有哪些功能?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  如何规划企业建站流程的关键步骤?  如何基于云服务器快速搭建网站及云盘系统?  ,制作一个手机app网站要多少钱?  股票网站制作软件,网上股票怎么开户?  如何在腾讯云服务器快速搭建个人网站?  网站制作价目表怎么做,珍爱网婚介费用多少?  ,巨量百应是干嘛的?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  湖北网站制作公司有哪些,湖北清能集团官网?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  制作企业网站建设方案,怎样建设一个公司网站?  ,石家庄四十八中学官网?  如何快速生成凡客建站的专业级图册? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。