現在のノードの種類を取得します。
Public MustOverride ReadOnly Property NodeType As XPathNodeType
[C#]
public abstract XPathNodeType NodeType {get;}
[C++]
public: __property virtual XPathNodeType get_NodeType() = 0;
[JScript]
public abstract function get NodeType() : XPathNodeType;
プロパティ値
XPathNodeType 値の 1 つ。
使用例
ノード ツリーを再帰的にウォークし、要素ノードおよびテキスト ノードについての情報を表示する例を次に示します。
public shared sub RecursiveWalk(nav as XPathNavigator)
select case nav.NodeType
case XPathNodeType.Element
if (nav.Prefix=String.Empty)
Console.WriteLine("<{0}>", nav.LocalName)
else
Console.Write("<{0}:{1}>", nav.Prefix, nav.LocalName)
Console.WriteLine(" "+ nav.NamespaceURI)
end if
case XPathNodeType.Text
Console.WriteLine(" " + nav.Value)
end select
if ( nav.MoveToFirstChild() )
do
RecursiveWalk(nav)
loop while ( nav.MoveToNext() )
nav.MoveToParent()
if (nav.NodeType = XPathNodeType.Element)
Console.WriteLine("</{0}>", nav.Name)
end if
end if
end sub
[C#]
public static void RecursiveWalk(XPathNavigator nav)
{
switch (nav.NodeType){
case XPathNodeType.Element:
if (nav.Prefix==String.Empty)
Console.WriteLine("<{0}>", nav.LocalName);
else
Console.Write("<{0}:{1}>", nav.Prefix, nav.LocalName);
Console.WriteLine("\t"+ nav.NamespaceURI);
break;
case XPathNodeType.Text:
Console.WriteLine("\t" + nav.Value);
break;
}
if ( nav.MoveToFirstChild() )
{
do{
RecursiveWalk(nav);
} while ( nav.MoveToNext() );
nav.MoveToParent();
if (nav.NodeType == XPathNodeType.Element)
Console.WriteLine("</{0}>", nav.Name);
}
}
[C++]
static void RecursiveWalk(XPathNavigator * nav)
{
switch (nav -> NodeType)
{
case XPathNodeType::Element:
if (nav -> Prefix == String::Empty)
Console::WriteLine(S"< {0}>", nav -> LocalName);
else
Console::Write(S"< {0}: {1}>", nav -> Prefix, nav -> LocalName);
Console::WriteLine(S"\t {0}", nav -> NamespaceURI);
break;
case XPathNodeType::Text:
Console::WriteLine(S"\t {0}", nav -> Value);
break;
}
if (nav -> MoveToFirstChild())
{
do
{
RecursiveWalk(nav);
} while (nav -> MoveToNext());
nav -> MoveToParent();
if (nav -> NodeType == XPathNodeType::Element)
Console::WriteLine(S"</ {0}>", nav -> Name);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
XPathNavigator クラス | XPathNavigator メンバ | System.Xml.XPath 名前空間