PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】


Posted in PHP onSeptember 10, 2019

本文实例讲述了PHP读取XML文件的方法。分享给大家供大家参考,具体如下:

使用DOMDocument对象读取xml

创建一个DOMDocument对象

$doc = new DOMDocument();

载入xml文件

$doc->load("book.xml");

获取标签对象

$books = $doc->getElementsByTagName("book");

获取标签的子对象

$titles = $book->getElementsByTagName("title");

获取标签的值或属性

$title = $titles->item(0)->nodeValue;

实例1,获取图书列表

book.xml

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book>
    <title>PHP和MySQL开发</title>
    <author>谭浩强</author>
  </book>
  <book>
    <titile>xml从入门到精通</titile>
    <author>郑智化</author>
  </book>
</bookstore>

load.php

<?php
header("Content-type:text/html;charset=utf8");
$doc = new DOMDocument();  //创建DOMDocument对象
$doc->load("book.xml");  //打开book.xml
$books = $doc->getElementsByTagName("book"); //获取book标签对象
foreach ($books as $book){  //遍历对象
  $titles = $book->getElementsByTagName("title");  //获取book标签下的title标签
  $title = $titles->item(0)->nodeValue;  //获取标签的值
  $authors = $book->getElementsByTagName("author");//获取book标签下的author标签
  $author = $authors->item(0)->nodeValue;  //获取标签的值
  $item["title"] = $title;
  $item["author"] = $author;
  $bookinfo[] = $item;
}
var_dump($bookinfo);

实例2,读取配置文件

config.xml

<?xml version="1.0" encoding="UTF-8"?>
<mysql>
  <host>127.0.0.1</host>
  <username>root</username>
  <password></password>
  <database>test</database>
</mysql>

config.php

<?php
header("Content-type:text/html;charset=utf8");
$doc = new DOMDocument();  //创建DOMDocument对象
$doc->load("config.xml");  //打开config.xml
$mysql = $doc->getElementsByTagName("mysql"); //获取mysql标签对象
$host = $mysql->item(0)->getElementsByTagName("host");
$config["host"] = $host->item(0)->nodeValue;
$username = $mysql->item(0)->getElementsByTagName("username");
$config["username"] = $username->item(0)->nodeValue;
$password = $mysql->item(0)->getElementsByTagName("password");
$config["password"] = $password->item(0)->nodeValue;
$database = $mysql->item(0)->getElementsByTagName("database");
$config["database"] = $database->item(0)->nodeValue;
var_dump($config);

使用simplexml方法读取xml

实例1,获取图书列表

load.php

<?php
header("Content-type:text/html;charset=utf8");
$books = simplexml_load_file("book.xml");
foreach($books as $book){
  $item["title"] = $book->title;
  $item["author"] = $book->author;
  $booklist[] = $item;
}
var_dump($booklist);

实例2,读取配置文件

config.php

<?php
header("Content-type:text/html;charset=utf8");
$mysql = simplexml_load_file("config.xml");
$config['host'] = $mysql->host;
$config['username'] = $mysql->username;
$config['password'] = $mysql->password;
$config['databse'] = $mysql->database;
var_dump($config);
PHP 相关文章推荐
Win9x/ME下Apache+PHP安装配置
Oct 09 PHP
帖几个PHP的无限分类实现想法~
Jan 02 PHP
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
php利用scws实现mysql全文搜索功能的方法
Dec 25 PHP
php实现html标签闭合检测与修复方法
Jul 09 PHP
PHP实现QQ登录实例代码
Jan 14 PHP
php利用imagemagick实现复古老照片效果实例
Feb 16 PHP
php批量删除操作代码分享
Feb 26 PHP
php取出数组单个值的方法
Mar 12 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 #PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
Sep 10 #PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 #PHP
PHP 模拟登陆功能实例详解
Sep 10 #PHP
Yii框架日志操作图文与实例详解
Sep 09 #PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 #PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
Sep 09 #PHP
You might like
关于PHP开发的9条建议
2015/07/27 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
JavaScript变量作用域_动力节点Java学院整理
2017/06/27 Javascript
js异步编程小技巧详解
2017/08/14 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
微信小程序实现简易table表格
2020/06/19 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
python使用webbrowser浏览指定url的方法
2015/04/04 Python
Python虚拟环境项目实例
2017/11/20 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
python如何实现int函数的方法示例
2018/02/19 Python
python实现Dijkstra静态寻路算法
2019/01/17 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
自定义django admin model表单提交的例子
2019/08/23 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
英国综合网上购物商城:The Hut
2018/07/03 全球购物
大学生就业求职信
2014/06/12 职场文书
植树节标语
2014/06/27 职场文书
python可视化之颜色映射详解
2021/09/15 Python
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python