【问题标题】:Using quotes in Xpath在 Xpath 中使用引号
【发布时间】:2012-04-30 05:09:56
【问题描述】:

说明我是否需要使用如下 XPath 表达式

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

但是由于 TOM'S 中的引用引发了异常。

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

谢谢。

【问题讨论】:

标签: c# xpath special-characters quotes


【解决方案1】:

在我的例子中,例如 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'] 

【讨论】:

    【解决方案2】:

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

    "Tom's ""Nopoli"" Pizza"
    

    【讨论】:

      【解决方案3】:

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

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

      Tom's "Napoli" Pizza
      

      因为 XPath 表达式中的文字会变成

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

      【讨论】:

        【解决方案4】:

        大概这一切都在一个字符串内部,那么这会起作用吗?

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

        【讨论】:

        • 好电话;我没有注意到 [c#] 标签。
        【解决方案5】:

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

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

        【讨论】:

          猜你喜欢
          • 2013-01-27
          • 2020-04-09
          • 1970-01-01
          • 1970-01-01
          • 2021-05-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多