xpath基本概念总结
发布时间:2020-12-16 02:12:49 所属栏目:百科 来源:网络整理
导读:?php /**当xml数据比较多的时候,查询起来比较慢,我们可以使用 xpath 或者是 xquery 无敌宇宙快速查询器****/步骤:1.创建 DOM 对象,导入 xml 文件$xml = new DOMDocument("1.0","utf-8");$xml-load('./book.xml');2.构造 xpath 查询器$xpath = new DOMXPA
<?php /** 当xml数据比较多的时候,查询起来比较慢, 我们可以使用 xpath 或者是 xquery 无敌宇宙快速查询器 ****/ 步骤: 1.创建 DOM 对象,导入 xml 文件 $xml = new DOMDocument("1.0","utf-8"); $xml->load('./book.xml'); 2.构造 xpath 查询器 $xpath = new DOMXPATH($xml); 3.使用==>主要看怎么走路 $sql = '/bookstore/book[price>30]/title[2]'; 路径是:查找bookstore下的 price>30 底下的 第二个 title 节点 $rs = $xpath->query($sql); print_r($ra->item(0)->nodeValue); //查看该节点下的内容 4.另一种查法,并不严格的路径 使用 // /a/b ==> 表示 a b 是父子关系 /a//b ==> 表示 a 是 b 的祖先,忽略了层次 $sql = '/bookstore//title'; 路径是:查找bookstore下所有的title节点 $rs = $xpath->query($sql); echo $rs->item(0)->nodeValue; 5.显示全部title节点 //foreach 可以用于数组和对象 $rs是Object(DOMNodelist) foreach ($rs as $v) { echo $v->nodeValue; } 6.利用 xpath 查询html的内容 做小偷程序的时候,不用非要正则匹配,使用 DOM 标准的 xpath 也可以 //创建DOM,引入html文件 $html = new DOMDocument("1.0","utf-8"); $html->loadhtmlfile('xmldic.html'); //创建xpath构造器 $xpath = new DOMXPATH($html); //执行查找内容 $sql = '/html/body/h2'; echo $xpath->query($sql)->item(0)->nodeValue; //属性之前需要加@ $sql = "//div[@id='123']"; echo $xpath->query($sql)->item(0)->nodeValue; //分析第2个div下的, p下的, 第二个span的内容 $sql = '//div/p/span[2]'; echo $xpath->query($sql)->item(0)->nodeValue; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |