Das innere Select weiß ja nichts vom äußeren, genauer gesagt von dessen "Current"-Knoten. Also bekommst du mit "/item" im zweiten XPath wieder alle item-Elemente. Die zwei Abfragen müssen aufeinander aufbauen:
Code:
while (nodeIter.MoveNext()) {
var nodeProduct = nodeIter.Current.Select("shortdescription");
nodeProduct.MoveNext();
Console.WriteLine(nodeProduct.Current.Value);
[...]
PS: XPath ist quasi schon wieder out, lang lebe XLinq
. Aber da .Net 3.5 für euch wahrscheinlich ein no-go sein dürfte, dürfte XPath wirklich noch das Erträglichste sein.