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 相关文章推荐
分享下页面关键字抓取components.arrow.com站点代码
Jan 30 PHP
php使用curl存储cookie的示例
Mar 31 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
php中substr()函数参数说明及用法实例
Nov 15 PHP
php上传文件并显示上传进度的方法
Mar 24 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
PHP编程计算文件或数组中单词出现频率的方法
May 22 PHP
PHP数据分析引擎计算余弦相似度算法示例
Aug 08 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 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数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python实现Logger打印功能的方法详解
2017/09/01 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
会计学个人自荐信模板
2013/12/13 职场文书
军训考核自我鉴定
2014/02/13 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
环保专项行动方案
2014/05/12 职场文书
技能比武方案
2014/05/21 职场文书
2019自荐信该如何写呢?
2019/07/05 职场文书