Se ad esempio abbiamo un file XML del tipo (normalmente non dovrebbe accadere :-)) : 1 <?xml version="1.0" encoding="utf-8" ?>
2 <persone>
3 <persona id="1"></persona>
4 <PERSONA id="2"></PERSONA>
5 <perSona id="3"></perSona>
6 </persone>
e tramite XPath vogliamo recuperare tutti i nodi persona figli di persone, dato che le ricerche XPath (e XML) sono case-sensitive, possiamo utilizzare la funzione XPath translate() in questo modo:
1 XmlDocument xmlDocTest = new XmlDocument();
2 xmlDocTest.Load("esempio.xml");
3 XmlNodeList list = xmlDocTest.SelectNodes("//persone/*[translate(local-name(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='persona']");
4
5 foreach (XmlNode nodeItem in list)
6 Console.WriteLine("Nodo " + nodeItem.Attributes["id"].Value);
Dove :
local-name() - restituisce il nome locale di...