Использование .Net XPath с исходным текстом, содержащим ' - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть некоторый код XPath, который отлично работает в 99% случаев. Но теперь у меня есть XML-документ, который содержит неэкранированные символы. В данном случае искомая строка выглядит как «плохая строка Мори».

Так как мне создать запрос XPath для поиска этой строки? Я пытался сбежать:

../a:Data[a:Name='" & NewT.Name.Replace("'", "'") & "'"

Но это не соответствует тексту. Тогда я попробовал:

../a:Data[a:Name='" & NewT.Name.Replace("'", "''") & "'"

Но это говорит о том, что в строке поиска есть недопустимый токен.

Кто-нибудь знает здесь трюк?

1 Ответ

0 голосов
/ 07 ноября 2018

Это НЕ полное решение, так как оно работает, только если строки содержат одинарные или двойные кавычки, но не оба:

Dim S As String
If Name.Contains("'") Then
    S = ../a:Data[a:Name=""" & Name & """
Else
    S = ../a:Data[a:Name='" & Name & "'"
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...