亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

XPath快速解析XML

2020-03-22 16:47:26
字體:
來源:轉載
供稿:網友
  • 為什么要使用XPATH,上一篇博客查詢越靠近下面單詞,時間會越長,超過2s就不太好了,XPAth就是用來提高解析XML速度的。還可以解析html,效率也是不錯的!

    分別查詢下列信息

    代碼:

    <?php// 詳細學習可以參考w3cschool 構造一個XPATH查詢器$xml = new DOMDocument('1.0','utf-8');$xml->load('book.xml');$xpath = new DOMXPATH($xml);/*$sql = 'xxx'; // 路徑表達式$xpath->query($sql);*//*xpath的路徑表達式如何寫?xpath是從根節點到某個節點聲經過的路徑*/// 查詢book.xml下面的每本書的title// /bookstore/book/title/*$sql = '/bookstore/book/title';$rs = $xpath->query($sql);print_r($rs);echo $rs->item(1)->nodeValue;*/// 查詢book.xml下面book節點的下面的第2個title節點,哪來的第2個title節點? 這樣寫是不對的/*$sql = '/bookstore/book/title[2]';$rs = $xpath->query($sql);print_r($rs->length);*/// 查詢bookestore下面的第2本書下面的title節點./*$sql = '/bookstore/book[2]/title';$rs = $xpath->query($sql);print_r($rs->item(0)->nodeValue);*/// 查詢bookstore下面的book節點并且價格>40元/*$sql = '/bookstore/book[price>40]/title';$rs = $xpath->query($sql);echo $rs->item(0)->nodeValue;*/// 查詢俠客行的價格// /bookstore/下面的book,且title=='俠客行'的書的價格$sql = '/bookstore/book[title="俠客行"]/price';$rs = $xpath->query($sql);echo $rs->item(0)->nodeValue;

    xpath如何不考慮路徑的層次,來查詢某個節點


    比如我們剛才嚴格層次查詢 /bookstore/book/title
    現在我們加了一個,<a><title></title></a>

    <?php$xml = new DOMDocument('1.0','utf-8');$xml->load('book.xml');$xpath = new DOMXPATH($xml);$sql = '/bookstore/book[last()]/title';$rs = $xpath->query($sql);// 只能查到書名的title//echo $rs->item(0)->nodeValue; // 思考 ,如何查詢所有的title,不考慮層次關系?$sql = '/title'; // 這樣不行,這樣查的是根節點下的title,而根節點下沒有title/*/a/b,這說明,a,b就是父子關系,而如果用/a//b,這樣說明a只是b的祖先就行,忽略了層次*/// 不分層次,查出所有的title/*$sql = '//title';foreach($xpath->query($sql) as $v) {    echo $v->nodeValue,'<br />';}*//*$sql = '//title[2]'; // 這樣又理解成<title>a</title><title>b</title>,查詢所有相鄰的title節點,且第2個foreach($xpath->query($sql) as $v) {    echo $v->nodeValue,'<br />';}*/

    上面是簡單應用,來改善上篇博客效率問題

    <?php// 接收單詞并解析XML查詢相應的單詞$word = isset($_GET['word'])?trim($_GET['word']):'';if(empty($word)) {    exit('你想查啥?');}// 解析XML并查詢$xml = new DOMDocument('1.0','utf-8');$xml->load('./dict.xml');/*$namelist = $xml->getElementsByTagName('name');$isfind = false;foreach($namelist as $v) {    if($v->nodeValue == $word) {        //print_r($v);        echo $word,'<br />';        echo '意思:',$v->nextSibling->nodeValue,'<br />';        echo '例句:',$v->nextSibling->nextSibling->nodeValue,'<br />';        $isfind = true;        break;    }}if(!$isfind) {    echo 'sorry';}*/// 接下來用xpath來查詢詞典$xpath = new DOMXpath($xml);// 查詢/dict下的word,且name=$word的節點下面的/name節點$sql = '/dict/word[name="' . $word . '"]/name'; //echo $sql;$words = $xpath->query($sql);if($words->length == 0) {    echo 'sorry';    exit;}// 查到了$name = $words->item(0);echo $word,'<br />';echo '意思:',$name->nextSibling->nodeValue,'<br />';echo '例句:',$name->nextSibling->nextSibling->nodeValue,'<br />';

    來解析一下的html

    <?php/***====筆記部分====xpath是根據DOM標準來查詢,html也是DOM,也能查,豈只是xml***/$html = new DOMDocument('1.0','utf-8');$html->loadhtmlfile('dict.html');$xpath = new DOMXPATH($html);$sql = '/html/body/h4';echo $xpath->query($sql)->item(0)->nodeValue,'<br />';// 查詢id="abc"的div節點$sql = '//div[@id="abc"]';echo $xpath->query($sql)->item(0)->nodeValue;// 分析第2個/div/下的p下的相鄰span的第2個span的內容$sql = '//div/p/span[2]';echo $xpath->query($sql)->item(0)->nodeValue;

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    欧美黄色成人网| 国产性猛交xxxx免费看久久| 久久久久久国产精品美女| 一本大道香蕉久在线播放29| 欧美自拍视频在线观看| 日韩女优人人人人射在线视频| 中文国产亚洲喷潮| 国产欧美日韩免费看aⅴ视频| 欧美黄色片在线观看| 国产免费一区二区三区香蕉精| 中文字幕亚洲图片| 亚洲人高潮女人毛茸茸| 98精品国产自产在线观看| 久久久久国产精品免费网站| 欧美日韩激情网| 欧美激情小视频| 久久成人在线视频| 亚洲电影免费观看高清| 久久在精品线影院精品国产| 免费av一区二区| 久久久久久久久电影| 欧美成人高清视频| 91在线视频导航| 欧美综合第一页| 26uuu日韩精品一区二区| 亚洲网站视频福利| 国产精品爽黄69天堂a| 国产日本欧美一区| 一区二区欧美久久| 日韩在线视频免费观看| 久久成人人人人精品欧| 久久久国产精彩视频美女艺术照福利| 久久久www成人免费精品张筱雨| 亚洲**2019国产| 欧美激情久久久久久| 91精品视频在线免费观看| 久久久亚洲国产| 久久精品人人爽| 国产精品一区二区3区| 日韩久久精品电影| 欧美激情一区二区三区高清视频| 日韩欧美999| 国产精品羞羞答答| 日日摸夜夜添一区| 国产第一区电影| 久久夜色撩人精品| 日韩有码视频在线| 少妇av一区二区三区| 国产精品高潮呻吟视频| 国产女人18毛片水18精品| 最近更新的2019中文字幕| 亚洲二区在线播放视频| 亚洲一区二区免费在线| 亚洲欧美成人精品| 国产精品久久综合av爱欲tv| 欧美大片在线看| 国产精品亚洲网站| 日韩亚洲欧美中文在线| 永久免费毛片在线播放不卡| 国产精品爽黄69| 久久久综合av| 青草青草久热精品视频在线观看| 国产午夜精品麻豆| 欧美激情在线狂野欧美精品| 欧美猛交ⅹxxx乱大交视频| 精品日韩中文字幕| 欧美日韩一区二区在线播放| 日韩精品在线播放| 91爱爱小视频k| 91久久精品国产91久久| 欧美性猛交xxxx久久久| 欧美日韩国产成人| 成人黄色在线观看| 欧美另类69精品久久久久9999| 高清欧美性猛交xxxx| 91社影院在线观看| 日本久久久久亚洲中字幕| 欧美激情精品久久久久久免费印度| 亚洲网站在线播放| 在线视频精品一| 国产成人久久久| 青青草国产精品一区二区| 国产成人精品a视频一区www| 国产亚洲欧美日韩美女| 黑人巨大精品欧美一区免费视频| 国产视频精品自拍| 日韩在线视频观看正片免费网站| 亚洲国产一区自拍| 91麻豆国产语对白在线观看| 不卡av日日日| 久久精品视频免费播放| 在线日韩精品视频| 97精品在线视频| 中文字幕亚洲欧美日韩2019| 久久国产精品首页| 日韩精品中文字| 色黄久久久久久| 亚洲男人天堂视频| 91成人在线播放| 国产一区二区黑人欧美xxxx| 91久久综合亚洲鲁鲁五月天| 日本高清不卡的在线| 91九色在线视频| 伦伦影院午夜日韩欧美限制| 国产精品免费久久久久久| 欧美激情欧美狂野欧美精品| 日韩欧美高清在线视频| 欧美成年人在线观看| 91精品国产免费久久久久久| 91黑丝在线观看| 亚洲精品mp4| 久久久精品影院| 中文字幕自拍vr一区二区三区| 亚洲女成人图区| 精品亚洲国产成av人片传媒| 国产精品高潮呻吟久久av野狼| 成人高h视频在线| 国内精品久久久| 日韩日本欧美亚洲| 91中文字幕一区| 午夜剧场成人观在线视频免费观看| 日韩欧美精品网站| 欧美中文字幕精品| 91午夜理伦私人影院| 国产日韩精品在线播放| 亚洲精品电影网| 亚洲男人的天堂网站| 久久久亚洲精选| 欧美黑人国产人伦爽爽爽| 国产精品免费一区二区三区都可以| 久久免费精品日本久久中文字幕| 亚洲欧美中文日韩在线v日本| 国产成人在线亚洲欧美| 日韩av手机在线看| 日韩一级裸体免费视频| 国产精品99免视看9| 欧美限制级电影在线观看| 岛国av午夜精品| 亚洲va国产va天堂va久久| 国产69精品99久久久久久宅男| 欧美成人精品一区二区| 成人看片人aa| 精品少妇v888av| 91产国在线观看动作片喷水| 国产一级揄自揄精品视频| 亚洲奶大毛多的老太婆| 成人黄色短视频在线观看| 91免费国产网站| 91精品综合久久久久久五月天| 欧美性猛交xxxxx免费看| 欧美一区三区三区高中清蜜桃| 欧美精品videosex极品1| 亚洲男人的天堂在线| 久久99亚洲热视| 亚洲免费人成在线视频观看| 欧美日韩国产第一页| 正在播放国产一区| 成人激情视频免费在线| 亚洲一区二区三| 深夜精品寂寞黄网站在线观看| 日韩精品免费观看| 欧美午夜精品在线| 亚洲色在线视频| 91精品国产91久久久|