zoukankan      html  css  js  c++  java
  • XPath的使用

    XPath即为XML路径语言,它可以从XML文档的树形结构中找出某节点的功能,它可以按照路径表达式来查找所需要的节点信息。

    04.xml文件:

    这里写图片描述

    例子1:找出book节点下的书籍名称

    <?php
    /**
     * XPath的使用
     * @author webbc
     */
    header('Content-type:text/html;charset=utf-8');//确定编码
    $dom = new DomDocument('1.0','utf-8');//创建dom对象
    $dom->load('04.xml');//加载xml文件
    $xpath = new DomXPath($dom);//创建xpath路径对象
    $sql = '/bookstore/book/title';//定义路径表达式,含义是从根节点下的bookstore节点下的book节点下找出title节点
    $list = $xpath->query($sql);//查找操作
    //遍历,输出节点内容
    foreach ($list as $k => $v) {
        echo $v->nodeValue."<br/>";
    }   
    ?>

    结果:

    这里写图片描述


    例子2:找出价格大于50元的书籍名称

    代码:

    <?php
    /**
     * XPath的使用
     * @author webbc
     */
    header('Content-type:text/html;charset=utf-8');
    $dom = new DomDocument('1.0','utf-8');
    $dom->load('04.xml');
    $xpath = new DomXPath($dom);
    $sql = '/bookstore/book[price>50]/title';//路径表达式,表示价格大于50元的书籍的title节点
    $list = $xpath->query($sql);
    foreach ($list as $k => $v) {
        echo $v->nodeValue."<br/>";
    }   
    ?>

    结果:

    这里写图片描述


    例子3:找出所有title节点,包括a标签下的title节点

    代码:

    <?php
    /**
     * XPath的使用
     * @author webbc
     */
    header('Content-type:text/html;charset=utf-8');
    $dom = new DomDocument('1.0','utf-8');
    $dom->load('04.xml');
    $xpath = new DomXPath($dom);
    $sql = '//title';//表示选取所有title元素,而不管它们在文档中的位置
    $list = $xpath->query($sql);
    foreach ($list as $k => $v) {
        echo $v->nodeValue."<br/>";
    }
    ?>

    结果:

    这里写图片描述


    例子4:找出第二本书籍的名称

    代码:

    <?php
    /**
     * XPath的使用
     * @author webbc
     */
    header('Content-type:text/html;charset=utf-8');
    $dom = new DomDocument('1.0','utf-8');
    $dom->load('04.xml');
    $xpath = new DomXPath($dom);
    $sql = '/bookstore/book[2]/title';//找出第二本书籍的名称
    $list = $xpath->query($sql);
    foreach ($list as $k => $v) {
        echo $v->nodeValue."<br/>";
    }
    ?>

    结果:

    这里写图片描述


    例子5:找出书籍名称为“天龙八部”的价格
    代码:

    <?php
    /**
     * XPath的使用
     * @author webbc
     */
    header('Content-type:text/html;charset=utf-8');
    $dom = new DomDocument('1.0','utf-8');
    $dom->load('04.xml');
    $xpath = new DomXPath($dom);
    $sql = '/bookstore/book[title="天龙八部"]/price';//找出书籍名称为“天龙八部”的价格
    $list = $xpath->query($sql);
    foreach ($list as $k => $v) {
        echo $v->nodeValue."<br/>";
    }
    ?>

    结果:
    这里写图片描述

  • 相关阅读:
    SQL中文转拼音
    cocos2D 虚拟摇杆Joystick功能实现
    cocos2d 粒子效果以及Particle Designer粒子工具的学习
    android 模拟器出错,emulator: ERROR: unknown virtual device name
    [转][越狱破解] 苹果itouch 4 iOS5.0.1完美越狱教程+资源下载
    objectivec 中随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() )
    [转]cocos2dx添加广告条(IOS and Android)
    cocos2d1.0.1x0.10.0版本 设置横屏与竖屏的方法
    【转】总结阐述Cocos2dX与Cocos2diphone区别;
    Objectivec 中CGGeometry几何类常用方法简单整理
  • 原文地址:https://www.cnblogs.com/cnsec/p/13407067.html
Copyright © 2011-2022 走看看