前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】

PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】

作者头像
砸漏
发布2020-10-20 15:30:59
1.2K0
发布2020-10-20 15:30:59
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

本文实例讲述了PHP读取XML文件的方法。分享给大家供大家参考,具体如下:

使用DOMDocument对象读取xml

创建一个DOMDocument对象

代码语言:javascript
复制
$doc = new DOMDocument();

载入xml文件

代码语言:javascript
复制
$doc- load("book.xml");

获取标签对象

代码语言:javascript
复制
$books = $doc- getElementsByTagName("book");

获取标签的子对象

代码语言:javascript
复制
$titles = $book- getElementsByTagName("title");

获取标签的值或属性

代码语言:javascript
复制
$title = $titles- item(0)- nodeValue;

实例1,获取图书列表

book.xml

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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);

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具: http://tools.zalou.cn/code/xmljson

在线格式化XML/在线压缩XML: http://tools.zalou.cn/code/xmlformat

XML在线压缩/格式化工具: http://tools.zalou.cn/code/xml_format_compress

XML代码在线格式化美化工具: http://tools.zalou.cn/code/xmlcodeformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档