派生クラスでオーバーライドされると、現在のノードに配置されている XPathNodeIterator のナビゲータを返します。
Public MustOverride ReadOnly Property Current As XPathNavigator
[C#]
public abstract XPathNavigator Current {get;}
[C++]
public: __property virtual XPathNavigator* get_Current() = 0;
[JScript]
public abstract function get Current() : XPathNavigator;
プロパティ値
現在のノードに配置されている XPathNavigator 。
Note XPathNodeIterator は、初期状態ではノード セットの選択元のコンテキスト ノードに配置されます。 XPathNodeIterator を選択したノード セットの最初のノードに移動するには、 MoveNext を呼び出す必要があります。
解説
XPathNavigator のプロパティを使用して、現在のノードの情報を返すことができます。ただし、 XPathNavigator を使用して、選択したノード セットから移動できません。これにより、ナビゲータの状態を無効化できます。代わりに、 XPathNavigator のクローンを作成できます。クローンとして作成された XPathNavigator は、選択したノード セットから移動できます。これは、アプリケーション レベルの決定です。この機能は、XPath クエリのパフォーマンスに影響を与える場合があります。
ほとんどの場合、選択したノード セットのすべてのノードに対して同じ XPathNavigator が返されますが、これは保証されていません。読み込まれたドキュメント "Myfile.xml" と、Xpath エンジンで XPathDocument オブジェクトに読み込まれた "data.xml" のノードを組み合わせた結果のノード セットの例を次に示します。 XmlDocument と XPathDocument は 2 つの異なるデータ ストアであるため、 CreateNavigator メソッドは、 XPathNavigator の異なる実装を渡します。この後、 typeof 呼び出しは、 XPathNavigator の異なる実装を示します。 メモ : これは、 XPathNodeIterator を <msxsl:script> 関数に渡すときにも発生します。
XPathDocument Doc = new XPathDocument("Myfile.xml");
XPathNavigator Nav = Doc.CreateNavigator();
XPathNodeIterator Iterator = Nav.Select("child::* | document(/"data.xml/")");
while (Iterator.MoveNext())
Console.WriteLine(typeof(Iterator.Current));
SelectAncestors 、 SelectDescendants 、 SelectChildren の各メソッドを実行した結果、選択されていないノードが返される場合、Current がコンテキスト ノードを指していることは保証されません。
使用例
このプロパティの使用例については、 AddSort (XPathExpression クラス内) のトピックを参照してください。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
XPathNodeIterator クラス | XPathNodeIterator メンバ | System.Xml.XPath 名前空間 | CurrentPosition | XPathNavigator.MoveTo | XPathNavigator.Clone