本文实例讲述了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小时内与您取得联系。