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下载远程文件类(支持断点续传)
Nov 14 PHP
PHP中文分词的简单实现代码分享
Jul 17 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
php强制用户转向www域名的方法
Jun 19 PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 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中创建图像并绘制文字的例子
2014/11/19 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
Display SQL Server Version Information
2007/06/21 Javascript
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
JavaScript中URL编码函数代码
2011/01/11 Javascript
jsonp原理及使用
2013/10/28 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
Angularjs 事件指令详细整理
2017/07/27 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
python list删除元素时要注意的坑点分享
2018/04/18 Python
django用户登录和注销的实现方法
2018/07/16 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
python保存文件方法小结
2018/07/27 Python
python实现名片管理系统
2018/11/29 Python
python 中的命名空间,你真的了解吗?
2020/08/19 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
python 写一个性能测试工具(一)
2020/10/24 Python
企事业单位求职者的自我评价
2013/12/28 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
学生检讨书
2015/01/27 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
python中的3种定义类方法
2021/11/27 Python