【发布时间】:2012-04-30 05:09:56
【问题描述】:
说明我是否需要使用如下 XPath 表达式
v:MapLink[@Entity='TOM'S RESTAURANT']
但是由于 TOM'S 中的引用引发了异常。
有没有办法解决这个问题?
谢谢。
【问题讨论】:
标签: c# xpath special-characters quotes
说明我是否需要使用如下 XPath 表达式
v:MapLink[@Entity='TOM'S RESTAURANT']
但是由于 TOM'S 中的引用引发了异常。
有没有办法解决这个问题?
谢谢。
【问题讨论】:
标签: c# xpath special-characters quotes
在我的例子中,例如 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']
【讨论】:
以上所有;另外,在 XPath 2.0 中,您可以使用加倍分隔引号的 SQL 约定。所以你可以写
"Tom's ""Nopoli"" Pizza"
【讨论】:
您始终可以在 XPath 表达式的字符串中使用“其他”引号(引号与撇号),如其他答案所示。
如果你有一个包含两者的文字,你可以像这样使用concat() 函数:
Tom's "Napoli" Pizza
因为 XPath 表达式中的文字会变成
concat("Tom's ", '"Napoli" Pizza')
【讨论】:
大概这一切都在一个字符串内部,那么这会起作用吗?
"v:MapLink[@Entity=\"TOM'S RESTAURANT\"]"
【讨论】:
只需在属性周围使用不同的引号:
v:MapLink[@Entity="TOM'S RESTAURANT"]
【讨论】: