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 相关文章推荐
Zend引擎的发展 [15]
Oct 09 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
curl实现站外采集的方法和技巧
Jan 31 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
php中字符集转换iconv函数使用总结
Oct 11 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
ThinkPHP3.2.2的插件控制器功能
Mar 05 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 PHP
PHP redis实现超迷你全文检索
Mar 04 PHP
PHP基于Closure类创建匿名函数的方法详解
Aug 17 PHP
Laravel中unique和exists验证规则的优化详解
Jan 28 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
珊瑚虫IP库浅析
2007/02/15 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
js日期联动示例
2014/05/02 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
基于python时间处理方法(详解)
2017/08/14 Python
python3转换code128条形码的方法
2019/04/17 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
基于python 凸包问题的解决
2020/04/16 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
HelloFresh澳大利亚:订购你的美味食品盒、健康餐食
2018/03/28 全球购物
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
大学毕业生的自我鉴定
2013/11/30 职场文书
善意的谎言事例
2014/02/15 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
《分数的意义》教学反思
2016/02/20 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB
Python学习之迭代器详解
2022/04/01 Python
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS