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 相关文章推荐
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
May 04 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
php 无限级分类 获取顶级分类ID
Mar 13 PHP
php结合web uploader插件实现分片上传文件
May 10 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
php 读取输出其他文件的实现方法
Jul 26 PHP
php实现微信扫码支付
Mar 26 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
Sep 05 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中date与gmdate的区别及默认时区设置
2014/05/12 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
Python中的进程分支fork和exec详解
2015/04/11 Python
python实现雨滴下落到地面效果
2018/06/21 Python
python的faker库用法
2019/11/28 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
Django基于客户端下载文件实现方法
2020/04/21 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
Python3.9.1中使用match方法详解
2021/02/08 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
学员自我鉴定
2014/03/19 职场文书
读书小明星事迹材料
2014/05/03 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
中秋节晚会开场白
2015/05/29 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
MySQL分区表实现按月份归类
2021/11/01 MySQL
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android