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加密解密的代码
Jul 16 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
php笔记之:php函数range() round()和list()的使用说明
Apr 26 PHP
PHP实现扎金花游戏之大小比赛的方法
Mar 10 PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 PHP
php实现支付宝当面付(扫码支付)功能
May 30 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 PHP
详解PHP用mb_string处理windows中文字符
May 26 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 xml 入门学习资料
2011/01/01 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
Python编程实现的简单Web服务器示例
2017/06/22 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
Python 实现自动导入缺失的库
2019/10/29 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
广州迈达威.net面试题目
2012/03/10 面试题
复核员上岗演讲稿
2014/01/05 职场文书
房地产销售计划书
2014/01/10 职场文书
法学个人求职信范文
2014/01/27 职场文书
家长会主持词
2014/03/26 职场文书
个人求职信范文
2014/05/24 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
员工试用期工作总结
2019/06/20 职场文书