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: &#65;</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 名前空間