使用XmlDocument.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的translate函數,就很容易了
xpath = @"//root/AAA/BBB/[翻譯(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