2008-11-24 8 views
0

Как использовать XPathNavigator.Evaluate (или другие методы в XPathNavigator), чтобы получить значение ISBN для следующего ввода xml?Получить значение узла из 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> 

ответ

3

Ответ, данный amdfan, почти правильный. Вот правильный синтаксис:

XPathIterator xit = XPathNavigator1.Select("/bookstore/book/@bk:ISBN"); 
xit.MoveNext(); 
String value = xit.Current.Value; 

Я испытал это в VS 2008.

3
XPathIterator xit = XPathNavigator1.Select("/bookstore/book/@bk:ISBN"); 
xit.MoveNext(); 
String value = xit.Current.Value; 

Значение, которое вы хотите в xit.Current.Value

Кстати, я рекомендую вам проверить this great article на XPATH.

+0

Синтаксис почти correct-- Он должен быть XPathNavigator1.Select ("/ книжный магазин/книга/@ Б.К.: ISBN"); – Graviton 2008-11-24 04:41:45

Смежные вопросы