本文实例讲述了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方法】
# 文档
# 操作技巧
# 程序设计
# 的是
# 都是
# 西游记
# 就会
# 是个
# 相关内容
# 可以用
# 又有
# 感兴趣
# 给大家
# 要用
# 转化为
# 更多关于
# 所述
# 几款
# 古龙
# 面向对象
相关文章:
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
建站主机与虚拟主机有何区别?如何选择最优方案?
如何获取免费开源的自助建站系统源码?
建站之星官网登录失败?如何快速解决?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
如何高效生成建站之星成品网站源码?
如何快速搭建个人网站并优化SEO?
如何选择美橙互联多站合一建站方案?
建站主机服务器选型指南与性能优化方案解析
相册网站制作软件,图片上的网址怎么复制?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
学校建站服务器如何选型才能满足性能需求?
ui设计制作网站有哪些,手机UI设计网址吗?
制作网站公司那家好,网络公司是做什么的?
,南京靠谱的征婚网站?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
南京网站制作费用,南京远驱官方网站?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
建站之星logo尺寸如何设置最合适?
如何在IIS7上新建站点并设置安全权限?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
如何高效利用200m空间完成建站?
建站之星如何防范黑客攻击与数据泄露?
建站之星后台密码遗忘?如何快速找回?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何快速登录WAP自助建站平台?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
开心动漫网站制作软件下载,十分开心动画为何停播?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
建站VPS推荐:2025年高性能服务器配置指南
如何快速搭建高效简练网站?
表情包在线制作网站免费,表情包怎么弄?
建站之星好吗?新手能否轻松上手建站?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
建站之星安装失败:服务器环境不兼容?
如何在Windows虚拟主机上快速搭建网站?
电商网站制作价格怎么算,网上拍卖流程以及规则?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
个人摄影网站制作流程,摄影爱好者都去什么网站?
北京制作网站的公司,北京铁路集团官方网站?
如何撰写建站申请书?关键要点有哪些?
如何在IIS7中新建站点?详细步骤解析
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
深圳网站制作的公司有哪些,dido官方网站?
浅谈Javascript中的Label语句
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
定制建站如何定义?其核心优势是什么?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
*请认真填写需求信息,我们会在24小时内与您取得联系。