本文实例讲述了PHP读取XML文件的方法。分享给大家供大家参考,具体如下:
使用DOMDocument对象读取xml
创建一个DOMDocument对象
1
|
$doc = new DOMDocument();
|
载入xml文件
1
|
$doc ->load( "book.xml" );
|
获取标签对象
1
|
$books = $doc ->getElementsByTagName( "book" );
|
获取标签的子对象
1
|
$titles = $book ->getElementsByTagName( "title" );
|
获取标签的值或属性
1
|
$title = $titles ->item(0)->nodeValue;
|
实例1,获取图书列表
book.xml
1
2
3
4
5
6
7
8
9
10
11
|
<? 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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
1
2
3
4
5
6
7
|
<? 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?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
1
2
3
4
5
6
7
8
9
|
<?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
1
2
3
4
5
6
7
8
|
<?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程序设计有所帮助。
原文链接:https://blog.csdn.net/koastal/article/details/50705267