zoukankan      html  css  js  c++  java
  • xpath之normalize-space(.)和normalize-space(text())区别

    normalize,字面意思就是正规化,加上space大概意思就是空格的处理了。

    官方解释是这样的:

    通过去掉前导和尾随空白并使用单个空格替换一系列空白字符,使空白标准化。如果省略了该参数,上下文节点的字符串值将标准化并返回。

    .是当前节点。如果在需要字符串的地方使用它(例如作为参数normalize-space()),引擎会自动将节点转换为节点的字符串值,对于元素来说,该元素是元素内连接的所有文本节点。

    text() 另一方面仅选择作为当前节点的直接子节点的文本节点。

    例如,给定XML:

    <a>Foo
        <b>Bar</b>
      lish
    </a>

    假设<a>是你当前的节点,normalize-space(.)将返回Foo Bar lish,但normalize-space(text())会失败,因为text()返回两个文本节点(Foolish)的节点集,它normalize-space()不接受。

    长话短说,如果你想标准化一个元素中的所有文本,请使用.。如果要选择特定的文本节点,请使用text(),但请始终记住尽管名称不同,但会text()返回一个节点集,如果节点集只有一个元素,它将自动转换为字符串。

  • 相关阅读:
    Qt编写安防视频监控系统1-通道切换
    Qt编写数据可视化大屏界面电子看板12-数据库采集
    Serv-U
    CLAAS KGaA mbH
    法国雷诺
    Bulma
    react技术栈
    小程序开发
    上海hande
    30个极大提高开发效率的VSCode插件
  • 原文地址:https://www.cnblogs.com/wanglingjiang/p/11269766.html
Copyright © 2011-2022 走看看