- phpdom技术可以跨层取值,但不能保持层次关系
- xpath:xml path langua 是一种表示节点位置的语言,可以描述xml元素的位置
- xpath的核心思想:可以通过xpath迅速简捷的定位你希望查找的节点,不像xml那样层级查找(只能查找,不能删除修改)
代码演示:
test.xml:
<?xml version="1.0" encoding="UTF-8"?>
<AAA>
<BBB>1</BBB>
<CCC>2</CCC>
<BBB>3</BBB>
<DDD>
<BBB>4.1</BBB>
</DDD>
<CCC>5</CCC>
</AAA>
xpath1.php:
<?php
//创建DOMDocument对象
$xmldoc=new DOMDocument();
//加载xml文件
$xmldoc->load("test.xml");
//转成domxpath
$domxpath=new DOMXPath($xmldoc);
//使用xpath技术查询你想要的节点
//查找根元素
//$node_list=$domxpath->query("/AAA/BBB");
//echo $node_list->length;
//返回结果为2
$node_list=$domxpath->query("//*");
for ($i=0;$i<$node_list->length;$i++){
$node=$node_list->item($i);
echo $node->tagName.'<br>';
}
//打印所有标签