Наконец-то мне удалось найти решение, и я должен сказать, что оно немного сложнее, чем решение Роджера;Вы должны знать немного о XPath выражениях.
Так что мне нужно было просто изменить выбор с
XPathNodeIterator XPNIDivisions = this.DataSources["Divisions"].CreateNavigator().Select("/Divisions/Division/Name");
на
XPathNodeIterator XPNIDivisions = this.DataSources["Divisions"].CreateNavigator().Select("/Divisions/Division[Abbr=\"thevalue\"]");
где thevalue
- это, конечно, значение, которое вы ищете.
Фактически я определил строковую переменную
StrXPathDiv = "/Divisions/Division[Abbr=\"" + thevalue + "\"]";
и затем передал ееSelect()
method.
Затем используйте следующий код для получения значения:
if (XPNIDivisions.MoveNext()) //If any record found
{
XPNIDivisions.Current.MoveToChild(XPathNodeType.Element);
XPNavMyDivision.SetValue(XPNIDivisions.Current.Value);
}
else { XPNavMyDivision.SetValue(""); }
, где XPNavMyDivision
- это навигатор, где мне нужно установить значение.1025 * Большое спасибо за ваше время и помощь Роджеру;Я бы попробовал ваше решение, если бы был уверен, что у всех установлен .NET 3.5;однако я совершенно уверен в обратном, поэтому мне пришлось придерживаться этого.