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,可以为列名称和表名称指定别名(Alias)
    BETWEEN 操作符
    IN 操作符
    SQL 通配符
    LIKE 操作符
    TOP 子句
    DELETE 语句
    Update 语句
    INSERT INTO 语句
    IOS SWIFT 网络请求JSON解析 基础一
  • 原文地址:https://www.cnblogs.com/cnsec/p/13407067.html
Copyright © 2011-2022 走看看