php读取xml文件总结

php中文网
发布: 2016-06-20 13:03:47
原创
940人浏览过

不久前做了个功能需要读取xml文件,虽然以前也做过很多次了,但一直没有想过总结一下,今天正好空闲,于是小小总结一番,以方便以后用起来更加顺手,下面开始正文。

假设目前有如下xml源文件,该文件保存名为books.xml:

<?xml version="1.0" encoding="UTF-8"?>
<books>
    <book>
        <author>phpernote.com</author>
        <title>PHP And MySQL Development</title>
        <publisher>火星出版社</publisher>
    </book>
    <book>
        <author>taobao.com</author>
        <title>如何淘宝</title>
        <publisher>淘宝出版社</publisher>
    </book>
</books>
登录后复制

(1)利用simplexml读取xml文件,示例如下:

<?php
header('Content-type:text/html;charset=utf-8');
$books=simplexml_load_file('books.xml');//将XML中的数据,读取到数组对象中
foreach($books as $v){
	echo $v->author."-".$v->title."-".$v->publisher."<br>";
}
登录后复制

如需更详细的了解 PHP SimpleXML 函数,请参考:PHP SimpleXML 函数

(2)利用DOMDocument读取xml文件,示例如下:

PandaGPT
PandaGPT

文档内容读取器,让 AI 用对话的方式总结文档重点

PandaGPT 113
查看详情 PandaGPT

立即学习PHP免费学习笔记(深入)”;

<?php
header('Content-type:text/html;charset=utf-8');
$doc=new DOMDocument();
$doc->load('books.xml');//读取xml文件
$book=$doc->getElementsByTagName('book');//取得book标签的对象数组
echo $book->length,'<br />';
foreach($book as $v){
	$author=$v->getElementsByTagName('author');//取得author的标签的对象数组
	$author=$author->item(0)->nodeValue;//取得node中的值
	$title=$v->getElementsByTagName('title');
	$title=$title->item(0)->nodeValue;
	$publisher=$v->getElementsByTagName('publisher');
	$publisher=$publisher->item(0)->nodeValue;
	echo "$author - $title - $publisher <br />";
}
登录后复制

如需更详细的了解 DOMDocument 的有关方法,请参考php官方文档:The DOMDocument class

当然还有很多其他的办法,比如用正则表达式解析等等,这些以后用到的时候再继续追加总结,今天就写了这么两种办法吧,对于一般的已经足够了。


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号