XPATH是通过xml文档路径来解析xml的
首先创建1.xml<?xml version="1.0" encoding="UTF-8"?>
yyj1
21
男
yyj2
21
男2
yyj3
50
男3
男3
yyj4
31
男3
a
b
然后创建1.php<?php
//构造XPATH查询器
$xml=new DOMDocument('1.0','utf-8');
$xml->load('./2015-12-22.xml');
$xpath=new DOMXPath($xml);
$sql='/root/student/name';//查询指定路径的节点列表
$rs=$xpath->query($sql);
echo $rs->item(0)->nodeValue.'
';//查询指定路径的节点列表的第一个节点内容
$sql='/root/student[last()]/name';//查询第二个学生的name
$rs=$xpath->query($sql);
echo $rs->item(0)->nodeValue.'
';//查询该路径下的节点内容
$sql='/root/student[age>30]/name';//查询student中age大于30的学生
$rs=$xpath->query($sql);
echo $rs->item(0)->nodeValue.'
';//查询该路径下的节点内容
$sql='/root/student[name="yyj4"]/age';//查询student中name==yyj4的age
$rs=$xpath->query($sql);
echo $rs->item(0)->nodeValue.'
';//查询该路径下的节点内容
//不分层次查询所有name
$sql='//name';//查询root下的所有name
foreach ($xpath->query($sql) as $v){
echo $v->nodeValue.'
';
}
echo '
';
//不分层次查询指定name
$sql='//name';
echo $xpath->query($sql)->item(0)->nodeValue.'
';
?>
运行结果如下yyj1
yyj4
yyj3
31
yyj1
yyj2
yyj3
yyj4
a
b
yyj1