2012-03-21 6 views
9

文字ケーシングを無視した特定の文字列を含むXPathの要素を見つけるのに問題があります。XPathでケースを無視したSelectNodes

HTMLページでidを持つすべてのノードに大文字または小文字の書き込みを無視した "フッター"というテキストが含まれています。私の例では

は、私はこのような異なるHTMLテキストを持っている:

私は、XPathを持つすべてのノード(またはIDで単語「フッター」とどのような場合でも任意の組み合わせ)を選択する必要があり
<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を使用していますが、私は(翻訳していくつかのテストをやった)が、私は期待通りに動作しない大文字のIDの

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

では動作しません。

EDIT:私はHtmlAgilityPackをXPath 1.0バージョンの作品で使用しています。

答えて

11

ないあなたはまだこれを試してみたが、これは私が大文字と小文字が区別のために何をすべきかであるかどうかわから検索が含まれています。私はあなたの解決策を見つけたので、私は場合には、この答えを投稿していました

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

他の人たちも同じ問題を抱えている。

+0

これはまさに私が見つけた解決策ですが、投稿できません。なぜなら、私は少ない時間で、自分自身に返信することができないからです。 – vfportero

関連する問題