2012-04-18 5 views
3

Скажем, если мне нужно использовать выражение XPath следующимИспользование цитат в Xpath

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

Но исключение из цитаты в TOM'S.

Есть ли способ обойти это?

Спасибо.

+0

Возможный дубликат [Кодирование выражений XPath с одинарными и двойными кавычками] (http://stackoverflow.com/questions/642125/encoding-xpath-expressions-with-both-single-and-double-quotes) –

ответ

4

предположительно это все внутри самой строки, так что это будет работать?

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

Хорошо вызов; Я не заметил тег [C#]. – BoltClock

2

Просто используйте различные кавычки атрибута:

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

Вы всегда можете использовать «другие» цитаты (цитата по сравнению с апострофом) внутри строки в выражении XPath, как показано в других ответах.

Если у вас есть литерал, содержащий оба, вы можете использовать concat() функцию:

Tom's "Napoli" Pizza 

буквальным в выражении XPath станет

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

Все вышеперечисленное; плюс, в XPath 2.0 вы можете использовать соглашение SQL о удвоении разделительной котировки. Таким образом, вы можете написать

"Tom's ""Nopoli"" Pizza" 
0

В моем случае, например, поиск элемента XPath в 2-х формах:

(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'] 
Смежные вопросы