在 Xpath 中使用引号

本文关键字:Xpath | 更新日期: 2023-09-27 18:31:37

说我是否需要使用 XPath 表达式,如下所示

v:MapLink[@Entity='TOM'S RESTAURANT']

但是由于TOM的引用而抛出了一个例外。

有没有办法解决这个问题?

谢谢。

在 Xpath 中使用引号

大概这一切都在字符串本身中,那么这会起作用吗?

"v:MapLink[@Entity='"TOM'S RESTAURANT'"]"

只需在属性周围使用不同的引号:

v:MapLink[@Entity="TOM'S RESTAURANT"]

您始终可以在 XPath 表达式的字符串中使用"其他"引号(引号与撇号),如其他答案所示。

如果你有一个包含两者的文本,你可以像这样使用 concat() 函数:

Tom's "Napoli" Pizza

作为 XPath 表达式中的文字将变为

concat("Tom's ", '"Napoli" Pizza')
以上

所有内容;另外,在 XPath 2.0 中,您可以使用将分隔引号加倍的 SQL 约定。所以你可以写

"Tom's ""Nopoli"" Pizza"

在我的情况下,例如以 2 种形式搜索元素 XPath:

(1) Parameters/Parameter[Key="{0}"]
(2) Parameters/Parameter[Key='{0}']

{0} = CCC[AAA="BBB"]DDD

第一种形式会出错,第二种形式会让引号',"不同"将起作用。

那是

// All using " Get Error
Parameters/Parameter[Key="CCC[AAA="BBB"]DDD"] 
// Using ' Out,  and " In  Work
Parameters/Parameter[Key='CCC[AAA="BBB"]DDD']