0

このコードはbook1book2. 印刷したいだけですbook2。述語を正しく指定していませんか?

(これは私の問題を単純化したものであるため、「book2」を印刷する別の方法を実際に探しているわけではないことに注意してください.C#を学んでいるときに何が間違っているのかをもっと理解したいと思っています)。

using System.Xml;
using System.Xml.XPath;
using System.IO;

String xpathStg =
    "<bookstore> <book>book1</book> <book>book2</book> </bookstore>";

XPathDocument docNav = new XPathDocument(new StringReader(xpathStg));

XPathNavigator nav = docNav.CreateNavigator();

XPathNodeIterator NodeIter = nav.Select("/bookstore/book[last()]");

Console.WriteLine("NodeIter.Current.Value=" + NodeIter.Current.Value);
4

1 に答える 1

0

たとえば、 XPathNodeIterator を使用する必要があります

foreach (XPathNavigator book in NodeIter) { Console.WriteLine(book.Value); }

NodeIter.MoveNext()または、にアクセスする前に少なくとも 1 回呼び出しますCurrent.Value

于 2013-11-08T20:52:58.067 に答える