UseXmlDocument.SelectNodes(String xpath) は便利な方法であり、XPath を破棄すべき点功夫である可能性があります。
今天公開 XPath1.0 には大文字と小文字を区別しない関数があるため、以下の説明
<root>
<AAA>
<BBB>
<CCC>ddd</CCC>
<BBB>
<CCC> GEN</CCC> //可能性としては Gen, gen, GEn
</BBB>
</AAA>
<AAA>
<BBB>
<CCC>DFE</CCC>
<BBB>
<CCC> ゲン</CCC>
</BBB>
</AAA
</root>
すべての CCC ポイントは GEN (大文字と小文字を区別しない) の AAA ポイントであり、後続の Xpath がない場合は、上記の条件を満たしている必要があり、Xpath の翻訳関数が使用される場合は、すぐに完了します
xpath = @"//root/AAA/BBB/[translate(CCC, 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')] = 'GEN'/parent::*"
XmlNodeList ノードリスト = xmlDoc.SelectNodes(xpath);
xpath の意思により、//root/AAA/BBB/CCC ポイントの値がすべて大写しされ、その後 'GEN' と比較されてから AAA ポイントに返されます。
http://www.cnblogs.com/happyy2k/archive/2006/10/31/545128.html