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()返回一个节点集,如果节点集只有一个元素,它将自动转换为字符串。

  • 相关阅读:
    自动生成四则运算题目
    学习进度总结随笔
    作业1
    软件工程项目总结
    结对编程项目---四则运算
    作业三
    自动生成小学四则运算题目的程序
    学习进度总结
    大三下自我简介
    寒假社会实*报告
  • 原文地址:https://www.cnblogs.com/wanglingjiang/p/11269766.html
Copyright © 2011-2022 走看看