Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

XmlReader.NodeType Property

Definition

Namespace:
System.Xml
Assemblies:
System.Xml.dll, System.Xml.ReaderWriter.dll
Assemblies:
netstandard.dll, System.Xml.ReaderWriter.dll
Assembly:
System.Xml.ReaderWriter.dll
Assembly:
System.Xml.dll
Assembly:
netstandard.dll
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

When overridden in a derived class, gets the type of the current node.

public:
 abstract property System::Xml::XmlNodeType NodeType { System::Xml::XmlNodeType get(); };
public abstract System.Xml.XmlNodeType NodeType { get; }
member this.NodeType : System.Xml.XmlNodeType
Public MustOverride ReadOnly Property NodeType As XmlNodeType

Property Value

One of the enumeration values that specify the type of the current node.

Exceptions

An XmlReader method was called before a previous asynchronous operation finished. In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Examples

The following example reads an XML file and displays each of the nodes.

XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
XmlReader reader = XmlReader.Create("items.xml", settings);

reader.MoveToContent();
 // 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;
 }
}

/*
 The example displays the following output:

 <Item>Test with an entity: 123</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>
*/
Dim settings As New XmlReaderSettings()
settings.DtdProcessing = DtdProcessing.Parse
Dim reader As XmlReader = XmlReader.Create("items.xml", settings)
reader.MoveToContent()
' 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

' The example displays the following output:
'
' <Item>Test with an entity: 123</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>

The sample uses the items.xml file.

<?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>

Applies to


Feedback

Was this page helpful?