XmlNodeType Enumeration
Specifies the type of node.
Namespace: System.Xml
Assembly: System.Xml (in System.Xml.dll)
| Member name | Description | |
|---|---|---|
![]() ![]() | None | This is returned by the XmlReader if a Read method has not been called. |
![]() ![]() | Element | An element (for example, <item>). An Element node can have the following child node types: Element, Text, Comment, ProcessingInstruction, CDATA, and EntityReference. It can be the child of the Document, DocumentFragment, EntityReference, and Element nodes. |
![]() ![]() | Attribute | An attribute (for example, id='123'). An Attribute node can have the following child node types: Text and EntityReference. The Attribute node does not appear as the child node of any other node type. It is not considered a child node of an Element. |
![]() ![]() | Text | The text content of a node. A Text node cannot have any child nodes. It can appear as the child node of the Attribute, DocumentFragment, Element, and EntityReference nodes. |
![]() ![]() | CDATA | A CDATA section (for example, <![CDATA[my escaped text]]>). CDATA sections are used to escape blocks of text that would otherwise be recognized as markup. A CDATA node cannot have any child nodes. It can appear as the child of the DocumentFragment, EntityReference, and Element nodes. |
![]() ![]() | EntityReference | A reference to an entity (for example, #). An EntityReference node can have the following child node types: Element, ProcessingInstruction, Comment, Text, CDATA, and EntityReference. It can appear as the child of the Attribute, DocumentFragment, Element, and EntityReference nodes. |
![]() ![]() | Entity | An entity declaration (for example, <!ENTITY...>). An Entity node can have child nodes that represent the expanded entity (for example, Text and EntityReference nodes). It can appear as the child of the DocumentType node. |
![]() ![]() | ProcessingInstruction | A processing instruction (for example, <?pi test?>). A ProcessingInstruction node cannot have any child nodes. It can appear as the child of the Document, DocumentFragment, Element, and EntityReference nodes. |
![]() ![]() | Comment | A comment (for example, <!-- my comment -->). A Comment node cannot have any child nodes. It can appear as the child of the Document, DocumentFragment, Element, and EntityReference nodes. |
![]() ![]() | Document | A document object that, as the root of the document tree, provides access to the whole XML document. A Document node can have the following child node types: XmlDeclaration, Element (maximum of one), ProcessingInstruction, Comment, and DocumentType. It cannot appear as the child of any node types. |
![]() ![]() | DocumentType | The document type declaration, indicated by the following tag (for example, <!DOCTYPE...>). A DocumentType node can have the following child node types: Notation and Entity. It can appear as the child of the Document node. |
![]() ![]() | DocumentFragment | A document fragment. The DocumentFragment node associates a node or subtree with a document without actually being contained in the document. A DocumentFragment node can have the following child node types: Element, ProcessingInstruction, Comment, Text, CDATA, and EntityReference. It cannot appear as the child of any node types. |
![]() ![]() | Notation | A notation in the document type declaration (for example, <!NOTATION...>). A Notation node cannot have any child nodes. It can appear as the child of the DocumentType node. |
![]() ![]() | Whitespace | White space between markup. |
![]() ![]() | SignificantWhitespace | White space between markup in a mixed content model or white space within the xml:space="preserve" scope. |
![]() ![]() | EndElement | An end element tag (for example, </item>). EndElement nodes are returned when XmlReader reaches the end of an element. |
![]() ![]() | EndEntity | Returned when XmlReader reaches the end of the entity replacement as a result of a call to ResolveEntity. |
![]() ![]() | XmlDeclaration | The XML declaration (for example, <?xml version='1.0'?>). The XmlDeclaration node must be the first node in the document. It cannot have children. It is a child of the Document node. It can have attributes that provide version and encoding information. |
The following example navigates through the stream to determine the current node type, and then uses XmlWriter to output the XmlReader content.
Dim output As StringBuilder = New StringBuilder() Dim xmlString As String = "<?xml version='1.0'?>" & _ "<!-- This is a sample XML document -->" & _ "<Items>" & _ "<Item>test with a child element <more/> stuff</Item>" & _ "</Items>" ' Create an XmlReader Using reader As XmlReader = XmlReader.Create(New StringReader(xmlString)) Dim ws As XmlWriterSettings = New XmlWriterSettings() ws.Indent = True Using writer As XmlWriter = XmlWriter.Create(output, ws) ' Parse the file and display each of the nodes. While reader.Read() Select Case reader.NodeType Case XmlNodeType.Element writer.WriteStartElement(reader.Name) Case XmlNodeType.Text writer.WriteString(reader.Value) Case XmlNodeType.XmlDeclaration Case XmlNodeType.ProcessingInstruction writer.WriteProcessingInstruction(reader.Name, reader.Value) Case XmlNodeType.Comment writer.WriteComment(reader.Value) Case XmlNodeType.EndElement writer.WriteFullEndElement() End Select End While End Using End Using OutputTextBlock.Text = output.ToString()
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

