Как использовать XPathNavigator.Evaluate (или другие методы в XPathNavigator), чтобы получить значение ISBN для следующего XML-ввода?
<?xml version="1.0"?> <!-- a fragment of a book store inventory database --> <bookstore xmlns:bk="urn:samples"> <book genre="novel" publicationdate="1997" bk:ISBN="1-861001-57-8"> <title>Pride And Prejudice</title> <author> <first-name>Jane</first-name> <last-name>Austen</last-name> </author> <price>24.95</price> </book> <book genre="novel" publicationdate="1992" bk:ISBN="1-861002-30-1"> <title>The Handmaid's Tale</title> <author> <first-name>Margaret</first-name> <last-name>Atwood</last-name> </author> <price>29.95</price> </book> <book genre="novel" publicationdate="1991" bk:ISBN="1-861001-57-6"> <title>Emma</title> <author> <first-name>Jane</first-name> <last-name>Austen</last-name> </author> <price>19.95</price> </book> <book genre="novel" publicationdate="1982" bk:ISBN="1-861001-45-3"> <title>Sense and Sensibility</title> <author> <first-name>Jane</first-name> <last-name>Austen</last-name> </author> <price>19.95</price> </book> </bookstore>
Ответ от amdfan почти правильный. Вот правильный синтаксис:
XPathIterator xit = XPathNavigator1.Select("/bookstore/book/@bk:ISBN"); xit.MoveNext(); String value = xit.Current.Value;
Я проверял это в VS 2008.
Требуемое значение в xit.Current.Value
xit.Current.Value
Кстати, я рекомендую вам прочитать эту замечательную статью на xPath.