如何向 xpath 添加注释?

问题描述 投票:0回答:4

例如,我有一个 xpath,并希望在它附近添加注释来识别它。

/html/body/div/table/tr/td/a{this is a link}
xpath
4个回答
23
投票

XPATH 2.0 确实允许评论。

来自 http://www.w3.org/TR/xpath20/#comments

注释可用于为某个内容提供信息注释 表达。注释只是词汇结构,不影响 表达处理。

注释是字符串,由符号

(:
:)
分隔。评论可能 嵌套。

注释可以用在任何允许忽略空白的地方(参见 A.2.4.1 默认空白处理)。

以下是评论示例:

(: Houston, we have a problem :)

如果我们需要解析包含表情符号的 XML,那就是坏消息了! :-)

顺便说一句 - 因为我在使用 Tibco Designer for BusinessWorks v5.x 的背景下寻找此信息,可以使用以下方式在 TIBCO Designer XPATH 公式生成器中添加注释:

{-- Houston, we've had a problem --}


16
投票

不是注释语法,但您可以将字符串文字作为谓词,其计算结果为 true(恕我直言)并且不应更改表达式的结果。我不知道这是否有很大的性能缺陷。

/html/body/div/table["this is"]["a table"]/tr/td/a["this is a link"]

但就像 mjv 所说,我也会坚持宿主语言的语法。


7
投票

2019年编辑
正如 @Sepster 的回复和其他地方所指出的,从 XPath 2.0 开始,评论通过其可爱的“笑脸”语法成为可能。我只晚了大约 10 年才编辑此回复,以提及非常有用的事实;-)

原始回复 c. 2009(假设 XPATH 1.0)
不可以,XPATH 语法不允许在路径字符串中嵌入注释。

这通常不是一个重要的限制,因为路径通常很短,并且可以在附近放置注释,采用宿主语言的特定语法(XSLT、C#,等等......)


0
投票
  • 使用   

    (:
    - 用于打开评论
    :)
    - 用于结束评论

  • 示例

    (: //a[*] :)

© www.soinside.com 2019 - 2024. All rights reserved.