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生成html分页列表的代码
Mar 18 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 PHP
PHP通用检测函数集合
Feb 08 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
MyEclipse常用配置图文教程
Sep 11 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
Nov 28 PHP
深入浅出php socket编程
May 13 PHP
使用symfony命令创建项目的方法
Mar 17 PHP
PHP针对多用户实现更换头像功能
Sep 04 PHP
Yii2中添加全局函数的方法分析
May 04 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
May 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
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
理解JS绑定事件
2016/01/19 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
浅析vue数据绑定
2017/01/17 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
法国足球商店:Footcenter
2019/07/06 全球购物
node中使用shell脚本的方法步骤
2021/03/23 Javascript
自荐信包含哪些内容
2013/10/30 职场文书
节能减排倡议书
2014/04/15 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
社区植树节活动总结
2015/02/06 职场文书
小学运动会入场词
2015/07/18 职场文书
python实现自动清理文件夹旧文件
2021/05/10 Python
React中的Context应用场景分析
2021/06/11 Javascript
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题