XmlTextReader.NodeType プロパティ
現在のノードの種類を取得します。
Overrides Public ReadOnly Property NodeType As XmlNodeType
[C#]
public override XmlNodeType NodeType {get;}
[C++]
public: __property XmlNodeType get_NodeType();
[JScript]
public override function get NodeType() : XmlNodeType;
プロパティ値
現在のノードの型を表す XmlNodeType 値の 1 つ。
解説
このプロパティは、Document、 DocumentFragment 、Entity、 EndEntity 、または Notation の XmlNodeType の型を返しません。
使用例
[Visual Basic, C#, C++] XML を読み込み、各ノードを表示する例を次に示します。
Option Strict
Option Explicit
Imports System
Imports System.IO
Imports System.Xml
'Reads an XML document
Public Class Sample
Private Const filename As String = "items.xml"
Public Shared Sub Main()
Dim reader As XmlTextReader = Nothing
Try
' Load the reader with the data file and ignore all white space nodes.
reader = New XmlTextReader(filename)
reader.WhitespaceHandling = WhitespaceHandling.None
' Parse the file and display each of the nodes.
While reader.Read()
Select Case reader.NodeType
Case XmlNodeType.Element
Console.Write("<{0}>", reader.Name)
Case XmlNodeType.Text
Console.Write(reader.Value)
Case XmlNodeType.CDATA
Console.Write("<![CDATA[{0}]]>", reader.Value)
Case XmlNodeType.ProcessingInstruction
Console.Write("<?{0} {1}?>", reader.Name, reader.Value)
Case XmlNodeType.Comment
Console.Write("<!--{0}-->", reader.Value)
Case XmlNodeType.XmlDeclaration
Console.Write("<?xml version='1.0'?>")
Case XmlNodeType.Document
Case XmlNodeType.DocumentType
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value)
Case XmlNodeType.EntityReference
Console.Write(reader.Name)
Case XmlNodeType.EndElement
Console.Write("</{0}>", reader.Name)
End Select
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub 'Main
End Class 'Sample
[C#]
using System;
using System.IO;
using System.Xml;
public class Sample {
private const String filename = "items.xml";
public static void Main() {
XmlTextReader reader = null;
try {
// Load the reader with the data file and ignore all white space nodes.
reader = new XmlTextReader(filename);
reader.WhitespaceHandling = WhitespaceHandling.None;
// Parse the file and display each of the nodes.
while (reader.Read()) {
switch (reader.NodeType) {
case XmlNodeType.Element:
Console.Write("<{0}>", reader.Name);
break;
case XmlNodeType.Text:
Console.Write(reader.Value);
break;
case XmlNodeType.CDATA:
Console.Write("<![CDATA[{0}]]>", reader.Value);
break;
case XmlNodeType.ProcessingInstruction:
Console.Write("<?{0} {1}?>", reader.Name, reader.Value);
break;
case XmlNodeType.Comment:
Console.Write("<!--{0}-->", reader.Value);
break;
case XmlNodeType.XmlDeclaration:
Console.Write("<?xml version='1.0'?>");
break;
case XmlNodeType.Document:
break;
case XmlNodeType.DocumentType:
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
break;
case XmlNodeType.EntityReference:
Console.Write(reader.Name);
break;
case XmlNodeType.EndElement:
Console.Write("</{0}>", reader.Name);
break;
}
}
}
finally {
if (reader!=null)
reader.Close();
}
}
} // End class
[C++]
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main() {
XmlTextReader* reader = 0;
String* filename = S"items.xml";
try {
// Load the reader with the data file and ignore all white space nodes.
reader = new XmlTextReader(filename);
reader->WhitespaceHandling = WhitespaceHandling::None;
// Parse the file and display each of the nodes.
while (reader->Read()) {
switch (reader->NodeType) {
case XmlNodeType::Element:
Console::Write(S"<{0}>", reader->Name);
break;
case XmlNodeType::Text:
Console::Write(reader->Value);
break;
case XmlNodeType::CDATA:
Console::Write(S"<![CDATA[{0}]]>", reader->Value);
break;
case XmlNodeType::ProcessingInstruction:
Console::Write(S"<?{0} {1}?>", reader->Name, reader->Value);
break;
case XmlNodeType::Comment:
Console::Write(S"<!--{0}-->", reader->Value);
break;
case XmlNodeType::XmlDeclaration:
Console::Write(S"<?xml version='1.0'?>");
break;
case XmlNodeType::Document:
break;
case XmlNodeType::DocumentType:
Console::Write(S"<!DOCTYPE {0} [{1}]", reader->Name, reader->Value);
break;
case XmlNodeType::EntityReference:
Console::Write(reader->Name);
break;
case XmlNodeType::EndElement:
Console::Write(S"</{0}>", reader->Name);
break;
}
}
}
__finally {
if (reader!=0)
reader->Close();
}
}
[Visual Basic, C#, C++] このサンプルでは、ファイル items.xml を使用しています。
<?xml version="1.0"?>
<!-- This is a sample XML document -->
<!DOCTYPE Items [<!ENTITY number "123">]>
<Items>
<Item>Test with an entity: &number;</Item>
<Item>test with a child element <more/> stuff</Item>
<Item>test with a CDATA section <![CDATA[<456>]]> def</Item>
<Item>Test with an char entity: A</Item>
<!-- Fourteen chars in this element.-->
<Item>1234567890ABCD</Item>
</Items>
[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 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard