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下使用curl模拟用户登陆的代码
Sep 10 PHP
PHP自动生成后台导航网址的最佳方法
Aug 27 PHP
PHP中ob_start函数的使用说明
Nov 11 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
php常用的url处理函数总结
Nov 19 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
php实现根据IP地址获取其所在省市的方法
Apr 30 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
ThinkPHP框架表单验证操作方法
Jul 19 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
全国FM电台频率大全 - 2 天津市
2020/03/11 无线电
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
Jquery Change与bind事件代码
2011/09/29 Javascript
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
ionic中的$ionicPlatform.ready事件中的通用设置
2017/06/11 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
PYTHON 中使用 GLOBAL引发的一系列问题
2016/10/12 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
python推导式的使用方法实例
2021/02/28 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
生物化工专业个人自荐信
2013/09/26 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
工地质量标语
2014/06/12 职场文书
奠基仪式致辞
2015/07/30 职场文书
《打电话》教学反思
2016/02/22 职场文书
LeetCode189轮转数组python示例
2022/08/05 Python