string()、number()和count()是XPath三大基础函数:string()将任意值转字符串(节点取合并文本,节点集只取首个);number()转浮点数(失败返回NaN);count()统计节点集中的节点个数。

XPath 提供了丰富的内置函数来处理字符串、数字、节点集等数据,string()、number() 和 count() 是其中最基础且高频使用的三个类型转换与统计函数。
string():把任意值转为字符串
该函数将节点、数字、布尔值或节点集转换成字符串。对节点,取其**合并后的文本内容**(即所有后代文本节点拼接,不保留标签和空白);对节点集,只取**第一个节点**的字符串值。
-
示例:
string(//title)返回中的 "首页"首页 -
注意:空节点或不存在的节点返回空字符串;
string(123)得 "123",string(true())得 "true"
number():把值转为浮点数
尝试将参数解析为数字。若无法解析(如纯字母、空字符串、含非法字符),结果为 NaN(非数字);NaN 在布尔上下文中为 false。
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
-
示例:
number("3.14")→ 3.14,number("¥100")→ NaN,number(//price)可提取价格文本并转数字用于比较 -
实用技巧:配合
floor()、ceiling()或round()做数值处理;判断是否为有效数字可用not(number($x) = number($x))(利用 NaN ≠ NaN)
count():统计节点数量
唯一参数必须是节点集(node-set),返回其中**节点个数**(整数)。常用于条件判断,比如“是否存在某类元素”或“是否超过指定数量”。
-
示例:
count(//li)统计所有 li 元素个数;count(//input[@type='checkbox']) > 3判断复选框是否多于 3 个 - 注意:传入非节点集(如字符串或数字)会报错;空节点集返回 0









