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

 更新时间:2019年09月10日 09:55:03   作者:koastal   我要评论

这篇文章主要介绍了PHP读取XML文件的方法,结合实例形式总结分析了php基于DOMDocument及simplexml方法针对xml文件的载入、读取等相关操作技巧,需要的朋友可以参考下

本文实例讲述了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);

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

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

在线格式化XML/在线压缩XML
http://tools.hlktx.com/code/xmlformat

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

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

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

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

相关文章

  • PHP性能优化大全(php.ini)

    PHP性能优化大全(php.ini)

    这篇文章主要介绍了PHP性能优化大全(php.ini),需要的朋友可以参考下
    2016-05-05
  • php INI配置文件的解析实现分析

    php INI配置文件的解析实现分析

    我不知道怎么说才好,因为我在读INI文件的时候,往往都是用现成的函数:parse_ini_file或者是parse_ini_string,但怎么写入,就是另外的方法了(自己实现。。。。)
    2011-01-01
  • PHP 单引号与双引号的区别

    PHP 单引号与双引号的区别

    看好多代码有时候用单引号或双引号实现包含字符串的内容,其实简单个概括下双引号中的变量可以解析,单引号就是绝对的字符串。
    2009-11-11
  • php简单压缩css样式示例

    php简单压缩css样式示例

    这篇文章主要介绍了php简单压缩css样式的方法,涉及文件读取及字符替换等相关操作技巧,需要的朋友可以参考下
    2016-09-09
  • java解析json方法总结

    java解析json方法总结

    在本篇文章中小编给大家总结了关于java解析json方法总结以及相关知识点,需要的朋友们学习下。
    2019-05-05
  • PHP整合七牛实现上传文件

    PHP整合七牛实现上传文件

    这篇文章主要介绍了PHP整合七牛实现上传文件的相关资料,需要的朋友可以参考下
    2015-07-07
  • php $_SERVER["REQUEST_URI"]获取值的通用解决方法

    php $_SERVER["REQUEST_URI"]获取值的通用解决方法

    在 PHP 众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但是这个变量只有 apache 才支持,因此,我们需要一个更加通用的方式来获取 REQUEST_URI 的值,本文就是结束这一问题的解决方案。
    2010-06-06
  • php简单实现数组分页的方法

    php简单实现数组分页的方法

    这篇文章主要介绍了php简单实现数组分页的方法,涉及php数组操作及数学运算相关技巧,需要的朋友可以参考下
    2016-04-04
  • PHP远程连接oracle金沙国际官网操作实现方法图文详解

    PHP远程连接oracle金沙国际官网操作实现方法图文详解

    这篇文章主要介绍了PHP远程连接oracle金沙国际官网操作实现方法,结合图文形式详细分析了php连接Oracle金沙国际官网的相关配置、实现方法、遇到的问题、解决方法及相关操作注意事项,需要的朋友可以参考下
    2019-04-04
  • 使用PHP遍历文件夹与子目录的函数代码

    使用PHP遍历文件夹与子目录的函数代码

    最近对操作文件比较感兴趣的说,所以咱们来把文件夹给遍历了,顺便生成个树。
    2011-09-09

最新评论