XPath не определяет никаких специальных escape-последовательностей. Когда XPath используется в XSLT (например, в атрибутах элементов документа XSLT), escape-последовательности обрабатываются процессором XML, который читает таблицу стилей. Если вы используете XPath в не XML-контексте (например, из Java или C # или другого языка) через библиотеку, и ваш запрос XPath является строковым литералом на этом языке, вы не получите никакой escape-обработки, кроме той, которую сам язык обычно делает.
Если это C # или Java, это должно работать:
String xpath = "//h3[text()='Foo \u8250 Bar']";
...
Как примечание: в XSLT он также не будет работать, поскольку XSLT использует XML, который не определяет символьную сущность ›
- он определяет только <
, >
, "
, '
и &
. Вам нужно будет либо использовать 艐
, либо определить символьную сущность самостоятельно в объявлении DOCTYPE таблицы стилей XSLT.