【发布时间】:2009-06-09 16:13:17
【问题描述】:
在 xpath 中,您似乎可以使用所有丰富的函数来执行 "if" 。但是,我的引擎一直坚持“没有这样的功能”,我在网上几乎找不到任何文档(我发现了一些可疑的来源,但它们的语法不起作用)
我需要从字符串末尾删除 ':'(如果存在),所以我想这样做:
if (fn:ends-with(//div [@id='head']/text(),': '))
then (fn:substring-before(//div [@id='head']/text(),': ') )
else (//div [@id='head']/text())
有什么建议吗?
【问题讨论】:
-
这个问题有更多的背景吗? XPath 通常用于查询信息,而不是作为操作工具。操作通常留给 XSL 模板或更高级别的语言之类的东西
-
我发现 w3schools 教程易于使用。你可以从那里开始。 w3schools.com/Xpath
-
@James:这实际上是一个查询。不要让 if-then-else 语法欺骗您——从技术上讲,它是一个“条件表达式”而不是“if 语句”——更类似于许多编程语言中的三元条件运算符。
标签: xpath if-statement