全网整合营销服务商

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

免费咨询热线: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方法】  # 文档  # 操作技巧  # 程序设计  # 的是  # 都是  # 西游记  # 就会  # 是个  # 相关内容  # 可以用  # 又有  # 感兴趣  # 给大家  # 要用  # 转化为  # 更多关于  # 所述  # 几款  # 古龙  # 面向对象 


相关文章: 制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  建站主机与虚拟主机有何区别?如何选择最优方案?  如何获取免费开源的自助建站系统源码?  建站之星官网登录失败?如何快速解决?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何高效生成建站之星成品网站源码?  如何快速搭建个人网站并优化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小时内与您取得联系。