2012-03-21 2 views
9

У меня есть проблема с поиском элементов в XPath, которая содержит определенную строку, игнорирующую оболочку символов.SelectNodes с XPath игнорируя случаи

Я хочу найти на странице HTML все узлы с идентификатором содержит текст «нижний колонтитул», игнорирующий его запись в верхнем или нижнем регистре.

В моем примере я другой HTML текст, как это:

<div id="footer">some text</div> 
<div id="anotherfooter">some text</div> 
<div id="AnotherFooter">some text</div> 
<div id="AnotherFooterAgain">some text</div> 

Мне нужно, чтобы выбрать все узлы (или любую комбинацию в любом случае со словом «сноска» в Ид) с помощью XPath.

В настоящее время я использую этот XPath, но не работаю для

"//*[contains(./@id, 'footer')]/@id" 

я сделал несколько тестов Прописных идентификаторов с переводом(), но не работает, как я ожидал.

Любая идея?

EDIT: Я использую HtmlAgilityPack с работами с версией XPath 1.0.

ответ

11

Не уверен, что если вы уже пробовали это еще, но это то, что я делаю для случая чувствительного содержат поиски:

//*[contains(translate(./@id,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), 'footer')]/@id 

Я видел, как вы нашли свое решение, поэтому я отправляю этот ответ в случае другие имеют ту же проблему.

+0

Это именно то решение, которое я нашел, но я не могу опубликовать его, потому что я не могу ответить себе, менее, 8 часов: S Спасибо за сообщение! – vfportero

Смежные вопросы