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 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
PHP 工厂模式使用方法
May 18 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
php检测apache mod_rewrite模块是否安装的方法
Mar 14 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
php libevent 功能与使用方法详解
Mar 04 PHP
PHP Web表单生成器案例分析
Jun 02 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
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
PHP7修改的函数
2021/03/09 PHP
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
antd table按表格里的日期去排序操作
2020/11/17 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
Python获取航线信息并且制作成图的讲解
2019/01/03 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
Python集合操作方法详解
2020/02/09 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
开业庆典邀请函
2014/01/08 职场文书
教堂婚礼主持词
2014/03/14 职场文书
护士长竞聘演讲稿
2014/04/30 职场文书
基层党员对照检查材料
2014/08/25 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL