ciao a tutti ragazzi, vi scrivo perchè ho un grosso problema riguardo all'esecuzione di espressioni xpath su documenti xml.
mi spiego meglio; ho scritto il seguente codice:

codice:
XmlTextReader reader = new XmlTextReader(@"c:\book.xml");
XmlDocument doc = new XmlDocument();
doc.Load(reader);

XmlNodeList nodeList;
XmlElement root = doc.DocumentElement;

// nodeList =  root.SelectNodes("/bookstore/book/price[text()>'9.00']"); <-- con questa va

nodeList = root.SelectNodes("/bookstore/book/price[text()='11.99']"); // <-- così non va

Console.Write(nodeList.Count.ToString());


il programma lavora su un file xml così strutturato



codice:
<bookstore>
    <book>
         <price>11.99</price>
         <author>..</author>
         <title>..</title>
         ..
         ..
    </book>
    .. e altri book
</bookstore>

il problema sostanziale è che se eseguo la seguente query:

nodeList = root.SelectNodes("/bookstore/book/price[text() >'11.99']");

il nodeList.Count mi restituisce il numero corretto di prezzi che sono maggiori di 11.99; viceversa se provo ad eseguire una query esatta ossia:


nodeList = root.SelectNodes("/bookstore/book/price[text()='11.99'] ");

il nodeList.Count mi restituisce come valore 0 nonostante ci sia più di un prezzo uguale a 11.99. la stessa cosa succede con il != ; in pratica non riesce proprio a lavorare sulle stringhe.

Qualcuno mi può dare una mano?
Non so davvero dove andare a sbattere la testa.