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实现批量查询清除一句话后门的代码
Jan 20 PHP
很让人受教的 提高php代码质量36计
Sep 05 PHP
PHPThumb图片处理实例
May 03 PHP
IIS下PHP的三种配置方式对比
Nov 20 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
Laravel中间件实现原理详解
Oct 09 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
php中的explode()函数实例介绍
Jan 18 PHP
PHP下用Swoole实现Actor并发模型的方法
Jun 12 PHP
在Laravel中使用MongoDB的方法示例
Nov 11 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
php备份数据库类分享
2015/04/14 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
javascript版2048小游戏
2015/03/18 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
JavaScript数组方法的错误使用例子
2018/09/13 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
跟老齐学Python之list和str比较
2014/09/20 Python
初步理解Python进程的信号通讯
2015/04/09 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
农民工工资支付承诺书
2015/05/04 职场文书
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python