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 相关文章推荐
如何给phpadmin一个保护
Oct 09 PHP
PHP4在Windows2000下的安装
Oct 09 PHP
smarty 原来也不过如此~~呵呵
Nov 25 PHP
生成卡号php代码
Apr 09 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 PHP
PHP生成随机字符串实例代码(字母+数字)
Sep 11 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
Jul 10 PHP
浅谈php常用的7大框架的优缺点
Jul 20 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常用正则表达式的整理汇总
2013/06/08 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
php测试kafka项目示例
2020/02/06 PHP
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
如何在JavaScript中使用localStorage详情
2021/02/04 Javascript
python实现跨文件全局变量的方法
2014/07/07 Python
深入理解Python中的元类(metaclass)
2015/02/14 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
Python实现的栈(Stack)
2018/01/26 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
手把手教你pycharm专业版安装破解教程(linux版)
2019/09/26 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
中学生爱国演讲稿
2013/12/31 职场文书
省级四好少年事迹材料
2014/01/25 职场文书
邓小平理论心得体会
2014/09/09 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
公民代理授权委托书
2014/09/24 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js