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 feof用来识别文件末尾字符的方法
Aug 01 PHP
php header功能的使用
Oct 28 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 PHP
php返回json数据函数实例
Oct 09 PHP
php中socket的用法详解
Oct 24 PHP
php实现约瑟夫问题的方法小结
Mar 23 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
php实现SAE上使用storage上传与下载文件的方法
Jun 29 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
php中让人头疼的浮点数运算分析
Oct 10 PHP
php微信开发之关注事件
Jun 14 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 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/09/29 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
PHP字典树(Trie树)定义与实现方法示例
2017/10/09 PHP
PHP7新特性
2021/03/09 PHP
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
js实现点击选项置顶动画效果
2020/08/25 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
python3制作捧腹网段子页爬虫
2017/02/12 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
Python os.access()用法实例
2019/02/18 Python
python3调用windows dos命令的例子
2019/08/14 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
2017/03/02 HTML / CSS
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
五年级数学教学反思
2014/02/11 职场文书
个人近期表现材料
2014/02/11 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
芙蓉镇观后感
2015/06/10 职场文书
归途列车观后感
2015/06/17 职场文书