XmlValidatingReader.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、Notation などの XmlNodeType の型を返しません。
使用例
[Visual Basic, C#, C++] XML を読み込み、各ノードを表示する例を次に示します。
Imports System
Imports System.IO
Imports System.Xml
Public Class Sample
Private Const filename As String = "items.xml"
Public Shared Sub Main()
Dim txtreader As XmlTextReader = Nothing
Dim reader As XmlValidatingReader = Nothing
Try
'Load the reader with the data file and ignore all white space nodes.
txtreader = New XmlTextReader(filename)
txtreader.WhitespaceHandling = WhitespaceHandling.None
'Implement the validating reader over the text reader.
reader = New XmlValidatingReader(txtreader)
reader.ValidationType = ValidationType.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 txtreader = null;
XmlValidatingReader reader = null;
try
{
//Load the reader with the data file and ignore all white space nodes.
txtreader = new XmlTextReader(filename);
txtreader.WhitespaceHandling = WhitespaceHandling.None;
//Implement the validating reader over the text reader.
reader = new XmlValidatingReader(txtreader);
reader.ValidationType = ValidationType.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* txtreader = 0;
XmlValidatingReader* reader = 0;
String* filename = S"items.xml";
try
{
//Load the reader with the data file and ignore all white space nodes.
txtreader = new XmlTextReader(filename);
txtreader->WhitespaceHandling = WhitespaceHandling::None;
//Implement the validating reader over the text reader.
reader = new XmlValidatingReader(txtreader);
reader->ValidationType = ValidationType::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();
}
}
この例では、入力として、 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 a 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 ファミリ
参照
XmlValidatingReader クラス | XmlValidatingReader メンバ | System.Xml 名前空間