XPath и специальные символы

У меня есть проблема с запросом XPath, который я выполняю для системы CMS Sitecore.

Этот запрос хорошо работает:

/root/content/Meta-Data/Tips /*

Но когда я пробую это:

/root/content/Meta-Data/Tips /* [@SomeAttribute ='somekey']

Я получаю ошибку, которая говорит "Конец строки, ожидаемой в положении 22", которое является, где символ тире найден. У меня создалось впечатление, что тире не был специальным символом в XML... я делающий что-то не так здесь? Я должен закодировать это в некотором роде? Или действительно ли это - ошибка в синтаксическом анализаторе XPath? Какие-либо предложенные обходные решения?

5
задан Bryan 23 April 2010 в 20:56
поделиться

2 ответа

Измените это:

/root/content/Meta-Data/Tips/*[@SomeAttribute='somekey']

На это:

/root/content/#Meta-Data#/Tips/*[@SomeAttribute='somekey']
13
ответ дан 18 December 2019 в 14:43
поделиться

Согласно спецификации XML для символов в именах тегов, дефис должен быть действительный символ. Я провел небольшое тестирование XPath с этим сайтом и нашел его полезным для сравнения результатов с другими синтаксическими анализаторами.

0
ответ дан 18 December 2019 в 14:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: