XmlNodeReader Class
TOC
Collapse the table of content
Expand the table of content

XmlNodeReader Class

 

Represents a reader that provides fast, non-cached forward only access to XML data in an XmlNode.

Namespace:   System.Xml
Assembly:  System.Xml (in System.Xml.dll)

System.Object
  System.Xml.XmlReader
    System.Xml.XmlNodeReader

public class XmlNodeReader : XmlReader, IXmlNamespaceResolver

NameDescription
System_CAPS_pubmethodXmlNodeReader(XmlNode)

Creates an instance of the XmlNodeReader class using the specified XmlNode.

NameDescription
System_CAPS_pubpropertyAttributeCount

Gets the number of attributes on the current node.(Overrides XmlReader.AttributeCount.)

System_CAPS_pubpropertyBaseURI

Gets the base URI of the current node.(Overrides XmlReader.BaseURI.)

System_CAPS_pubpropertyCanReadBinaryContent

Gets a value indicating whether the XmlNodeReader implements the binary content read methods.(Overrides XmlReader.CanReadBinaryContent.)

System_CAPS_pubpropertyCanReadValueChunk

Gets a value indicating whether the XmlReader implements the ReadValueChunk method.(Inherited from XmlReader.)

System_CAPS_pubpropertyCanResolveEntity

Gets a value indicating whether this reader can parse and resolve entities.(Overrides XmlReader.CanResolveEntity.)

System_CAPS_pubpropertyDepth

Gets the depth of the current node in the XML document.(Overrides XmlReader.Depth.)

System_CAPS_pubpropertyEOF

Gets a value indicating whether the reader is positioned at the end of the stream.(Overrides XmlReader.EOF.)

System_CAPS_pubpropertyHasAttributes

Gets a value indicating whether the current node has any attributes.(Overrides XmlReader.HasAttributes.)

System_CAPS_pubpropertyHasValue

Gets a value indicating whether the current node can have a Value.(Overrides XmlReader.HasValue.)

System_CAPS_pubpropertyIsDefault

Gets a value indicating whether the current node is an attribute that was generated from the default value defined in the document type definition (DTD) or schema.(Overrides XmlReader.IsDefault.)

System_CAPS_pubpropertyIsEmptyElement

Gets a value indicating whether the current node is an empty element (for example, <MyElement/>).(Overrides XmlReader.IsEmptyElement.)

System_CAPS_pubpropertyItem[Int32]

When overridden in a derived class, gets the value of the attribute with the specified index.(Inherited from XmlReader.)

System_CAPS_pubpropertyItem[String]

When overridden in a derived class, gets the value of the attribute with the specified Name.(Inherited from XmlReader.)

System_CAPS_pubpropertyItem[String, String]

When overridden in a derived class, gets the value of the attribute with the specified LocalName and NamespaceURI.(Inherited from XmlReader.)

System_CAPS_pubpropertyLocalName

Gets the local name of the current node.(Overrides XmlReader.LocalName.)

System_CAPS_pubpropertyName

Gets the qualified name of the current node.(Overrides XmlReader.Name.)

System_CAPS_pubpropertyNamespaceURI

Gets the namespace URI (as defined in the W3C Namespace specification) of the node on which the reader is positioned.(Overrides XmlReader.NamespaceURI.)

System_CAPS_pubpropertyNameTable

Gets the XmlNameTable associated with this implementation.(Overrides XmlReader.NameTable.)

System_CAPS_pubpropertyNodeType

Gets the type of the current node.(Overrides XmlReader.NodeType.)

System_CAPS_pubpropertyPrefix

Gets the namespace prefix associated with the current node.(Overrides XmlReader.Prefix.)

System_CAPS_pubpropertyQuoteChar

When overridden in a derived class, gets the quotation mark character used to enclose the value of an attribute node.(Inherited from XmlReader.)

System_CAPS_pubpropertyReadState

Gets the state of the reader.(Overrides XmlReader.ReadState.)

System_CAPS_pubpropertySchemaInfo

Gets the schema information that has been assigned to the current node.(Overrides XmlReader.SchemaInfo.)

System_CAPS_pubpropertySettings

Gets the XmlReaderSettings object used to create this XmlReader instance.(Inherited from XmlReader.)

System_CAPS_pubpropertyValue

Gets the text value of the current node.(Overrides XmlReader.Value.)

System_CAPS_pubpropertyValueType

Gets The Common Language Runtime (CLR) type for the current node.(Inherited from XmlReader.)

System_CAPS_pubpropertyXmlLang

Gets the current xml:lang scope.(Overrides XmlReader.XmlLang.)

System_CAPS_pubpropertyXmlSpace

Gets the current xml:space scope.(Overrides XmlReader.XmlSpace.)

NameDescription
System_CAPS_pubmethodClose()

Changes the ReadState to Closed.(Overrides XmlReader.Close().)

System_CAPS_pubmethodDispose()

Releases all resources used by the current instance of the XmlReader class.(Inherited from XmlReader.)

System_CAPS_protmethodDispose(Boolean)

Releases the unmanaged resources used by the XmlReader and optionally releases the managed resources.(Inherited from XmlReader.)

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetAttribute(Int32)

Gets the value of the attribute with the specified index.(Overrides XmlReader.GetAttribute(Int32).)

System_CAPS_pubmethodGetAttribute(String)

Gets the value of the attribute with the specified name.(Overrides XmlReader.GetAttribute(String).)

System_CAPS_pubmethodGetAttribute(String, String)

Gets the value of the attribute with the specified local name and namespace URI.(Overrides XmlReader.GetAttribute(String, String).)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodGetValueAsync()

Asynchronously gets the value of the current node.(Inherited from XmlReader.)

System_CAPS_pubmethodIsStartElement()

Calls MoveToContent and tests if the current content node is a start tag or empty element tag.(Inherited from XmlReader.)

System_CAPS_pubmethodIsStartElement(String)

Calls MoveToContent and tests if the current content node is a start tag or empty element tag and if the Name property of the element found matches the given argument.(Inherited from XmlReader.)

System_CAPS_pubmethodIsStartElement(String, String)

Calls MoveToContent and tests if the current content node is a start tag or empty element tag and if the LocalName and NamespaceURI properties of the element found match the given strings.(Inherited from XmlReader.)

System_CAPS_pubmethodLookupNamespace(String)

Resolves a namespace prefix in the current element's scope.(Overrides XmlReader.LookupNamespace(String).)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodMoveToAttribute(Int32)

Moves to the attribute with the specified index.(Overrides XmlReader.MoveToAttribute(Int32).)

System_CAPS_pubmethodMoveToAttribute(String)

Moves to the attribute with the specified name.(Overrides XmlReader.MoveToAttribute(String).)

System_CAPS_pubmethodMoveToAttribute(String, String)

Moves to the attribute with the specified local name and namespace URI.(Overrides XmlReader.MoveToAttribute(String, String).)

System_CAPS_pubmethodMoveToContent()

Checks whether the current node is a content (non-white space text, CDATA, Element, EndElement, EntityReference, or EndEntity) node. If the node is not a content node, the reader skips ahead to the next content node or end of file. It skips over nodes of the following type: ProcessingInstruction, DocumentType, Comment, Whitespace, or SignificantWhitespace.(Inherited from XmlReader.)

System_CAPS_pubmethodMoveToContentAsync()

Asynchronously checks whether the current node is a content node. If the node is not a content node, the reader skips ahead to the next content node or end of file.(Inherited from XmlReader.)

System_CAPS_pubmethodMoveToElement()

Moves to the element that contains the current attribute node.(Overrides XmlReader.MoveToElement().)

System_CAPS_pubmethodMoveToFirstAttribute()

Moves to the first attribute.(Overrides XmlReader.MoveToFirstAttribute().)

System_CAPS_pubmethodMoveToNextAttribute()

Moves to the next attribute.(Overrides XmlReader.MoveToNextAttribute().)

System_CAPS_pubmethodRead()

Reads the next node from the stream.(Overrides XmlReader.Read().)

System_CAPS_pubmethodReadAsync()

Asynchronously reads the next node from the stream.(Inherited from XmlReader.)

System_CAPS_pubmethodReadAttributeValue()

Parses the attribute value into one or more Text, EntityReference, or EndEntity nodes.(Overrides XmlReader.ReadAttributeValue().)

System_CAPS_pubmethodReadContentAs(Type, IXmlNamespaceResolver)

Reads the content as an object of the type specified.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsAsync(Type, IXmlNamespaceResolver)

Asynchronously reads the content as an object of the type specified.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsBase64(Byte[], Int32, Int32)

Reads the content and returns the Base64 decoded binary bytes.(Overrides XmlReader.ReadContentAsBase64(Byte[], Int32, Int32).)

System_CAPS_pubmethodReadContentAsBase64Async(Byte[], Int32, Int32)

Asynchronously reads the content and returns the Base64 decoded binary bytes.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsBinHex(Byte[], Int32, Int32)

Reads the content and returns the BinHex decoded binary bytes.(Overrides XmlReader.ReadContentAsBinHex(Byte[], Int32, Int32).)

System_CAPS_pubmethodReadContentAsBinHexAsync(Byte[], Int32, Int32)

Asynchronously reads the content and returns the BinHex decoded binary bytes.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsBoolean()

Reads the text content at the current position as a Boolean.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsDateTime()

Reads the text content at the current position as a DateTime object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsDateTimeOffset()

Reads the text content at the current position as a DateTimeOffset object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsDecimal()

Reads the text content at the current position as a Decimal object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsDouble()

Reads the text content at the current position as a double-precision floating-point number.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsFloat()

Reads the text content at the current position as a single-precision floating point number.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsInt()

Reads the text content at the current position as a 32-bit signed integer.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsLong()

Reads the text content at the current position as a 64-bit signed integer.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsObject()

Reads the text content at the current position as an Object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsObjectAsync()

Asynchronously reads the text content at the current position as an Object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsString()

Reads the text content at the current position as a String object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadContentAsStringAsync()

Asynchronously reads the text content at the current position as a String object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAs(Type, IXmlNamespaceResolver)

Reads the element content as the requested type.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the element content as the requested type.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsAsync(Type, IXmlNamespaceResolver)

Asynchronously reads the element content as the requested type.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsBase64(Byte[], Int32, Int32)

Reads the element and decodes the Base64 content.(Overrides XmlReader.ReadElementContentAsBase64(Byte[], Int32, Int32).)

System_CAPS_pubmethodReadElementContentAsBase64Async(Byte[], Int32, Int32)

Asynchronously reads the element and decodes theBase64 content.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsBinHex(Byte[], Int32, Int32)

Reads the element and decodes the BinHex content.(Overrides XmlReader.ReadElementContentAsBinHex(Byte[], Int32, Int32).)

System_CAPS_pubmethodReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

Asynchronously reads the element and decodes the BinHex content.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsBoolean()

Reads the current element and returns the contents as a Boolean object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsBoolean(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a Boolean object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsDateTime()

Reads the current element and returns the contents as a DateTime object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsDateTime(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a DateTime object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsDecimal()

Reads the current element and returns the contents as a Decimal object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsDecimal(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a Decimal object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsDouble()

Reads the current element and returns the contents as a double-precision floating-point number.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsDouble(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a double-precision floating-point number.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsFloat()

Reads the current element and returns the contents as single-precision floating-point number.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsFloat(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a single-precision floating-point number.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsInt()

Reads the current element and returns the contents as a 32-bit signed integer.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsInt(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a 32-bit signed integer.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsLong()

Reads the current element and returns the contents as a 64-bit signed integer.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsLong(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a 64-bit signed integer.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsObject()

Reads the current element and returns the contents as an Object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsObject(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as an Object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsObjectAsync()

Asynchronously reads the current element and returns the contents as an Object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsString()

Reads the current element and returns the contents as a String object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsString(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a String object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementContentAsStringAsync()

Asynchronously reads the current element and returns the contents as a String object.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementString()

Reads a text-only element. However, we recommend that you use the ReadElementContentAsString() method instead, because it provides a more straightforward way to handle this operation.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementString(String)

Checks that the Name property of the element found matches the given string before reading a text-only element. However, we recommend that you use the ReadElementContentAsString() method instead, because it provides a more straightforward way to handle this operation.(Inherited from XmlReader.)

System_CAPS_pubmethodReadElementString(String, String)

Checks that the LocalName and NamespaceURI properties of the element found matches the given strings before reading a text-only element. However, we recommend that you use the ReadElementContentAsString(String, String) method instead, because it provides a more straightforward way to handle this operation.(Inherited from XmlReader.)

System_CAPS_pubmethodReadEndElement()

Checks that the current content node is an end tag and advances the reader to the next node.(Inherited from XmlReader.)

System_CAPS_pubmethodReadInnerXml()

When overridden in a derived class, reads all the content, including markup, as a string.(Inherited from XmlReader.)

System_CAPS_pubmethodReadInnerXmlAsync()

Asynchronously reads all the content, including markup, as a string.(Inherited from XmlReader.)

System_CAPS_pubmethodReadOuterXml()

When overridden in a derived class, reads the content, including markup, representing this node and all its children.(Inherited from XmlReader.)

System_CAPS_pubmethodReadOuterXmlAsync()

Asynchronously reads the content, including markup, representing this node and all its children.(Inherited from XmlReader.)

System_CAPS_pubmethodReadStartElement()

Checks that the current node is an element and advances the reader to the next node.(Inherited from XmlReader.)

System_CAPS_pubmethodReadStartElement(String)

Checks that the current content node is an element with the given Name and advances the reader to the next node.(Inherited from XmlReader.)

System_CAPS_pubmethodReadStartElement(String, String)

Checks that the current content node is an element with the given LocalName and NamespaceURI and advances the reader to the next node.(Inherited from XmlReader.)

System_CAPS_pubmethodReadString()

Reads the contents of an element or text node as a string.(Overrides XmlReader.ReadString().)

System_CAPS_pubmethodReadSubtree()

Returns a new XmlReader instance that can be used to read the current node, and all its descendants.(Inherited from XmlReader.)

System_CAPS_pubmethodReadToDescendant(String)

Advances the XmlReader to the next descendant element with the specified qualified name.(Inherited from XmlReader.)

System_CAPS_pubmethodReadToDescendant(String, String)

Advances the XmlReader to the next descendant element with the specified local name and namespace URI.(Inherited from XmlReader.)

System_CAPS_pubmethodReadToFollowing(String)

Reads until an element with the specified qualified name is found.(Inherited from XmlReader.)

System_CAPS_pubmethodReadToFollowing(String, String)

Reads until an element with the specified local name and namespace URI is found.(Inherited from XmlReader.)

System_CAPS_pubmethodReadToNextSibling(String)

Advances the XmlReader to the next sibling element with the specified qualified name.(Inherited from XmlReader.)

System_CAPS_pubmethodReadToNextSibling(String, String)

Advances the XmlReader to the next sibling element with the specified local name and namespace URI.(Inherited from XmlReader.)

System_CAPS_pubmethodReadValueChunk(Char[], Int32, Int32)

Reads large streams of text embedded in an XML document.(Inherited from XmlReader.)

System_CAPS_pubmethodReadValueChunkAsync(Char[], Int32, Int32)

Asynchronously reads large streams of text embedded in an XML document.(Inherited from XmlReader.)

System_CAPS_pubmethodResolveEntity()

Resolves the entity reference for EntityReference nodes.(Overrides XmlReader.ResolveEntity().)

System_CAPS_pubmethodSkip()

Skips the children of the current node.(Overrides XmlReader.Skip().)

System_CAPS_pubmethodSkipAsync()

Asynchronously skips the children of the current node.(Inherited from XmlReader.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIXmlNamespaceResolver.GetNamespacesInScope(XmlNamespaceScope)

This API supports the product infrastructure and is not intended to be used directly from your code. For a description of this member, see GetNamespacesInScope.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIXmlNamespaceResolver.LookupNamespace(String)

This API supports the product infrastructure and is not intended to be used directly from your code. For a description of this member, see LookupNamespace.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIXmlNamespaceResolver.LookupPrefix(String)

This API supports the product infrastructure and is not intended to be used directly from your code. For a description of this member, see IXmlNamespaceResolver.LookupPrefix.

System_CAPS_noteNote

Instead of using the XmlNodeReader, we recommend that you create XmlReader instances by using the XmlReaderSettings class and the Create method. This enables you to take advantage of conformance checking and compliance to the XML 1.0 recommendation.

The XmlNodeReader has the ability to read an XML DOM subtree. This class does not support document type definition (DTD) or schema validation. However, you can create an XmlReader object that wraps around the XmlNodeReader object to validate the data stored in the XmlNodeReader object, as shown in Examples section.

In the following example, an XML file is loaded into an XML document and modified. The XML document is passed to an XmlNodeReader, which is then passed to the XmlReader.Create method. When the validating reader parses the file, it can validate any changes made to the XML file.

using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;

public class Sample {

  public static void Main() {

    // Create and load the XML document.
    XmlDocument doc = new XmlDocument();
    doc.Load("booksSchema.xml");

    // Make changes to the document.
    XmlElement book = (XmlElement) doc.DocumentElement.FirstChild;
    book.SetAttribute("publisher", "Worldwide Publishing");

    // Create an XmlNodeReader using the XML document.
    XmlNodeReader nodeReader = new XmlNodeReader(doc);

    // Set the validation settings on the XmlReaderSettings object.
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.ValidationType = ValidationType.Schema;
    settings.Schemas.Add("urn:bookstore-schema", "books.xsd");
    settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);

   // Create a validating reader that wraps the XmlNodeReader object.
   XmlReader reader = XmlReader.Create(nodeReader, settings);

   // Parse the XML file.
   while (reader.Read());
  }

  // Display any validation errors.
  private static void ValidationCallBack(object sender, ValidationEventArgs e) {
    Console.WriteLine("Validation Error: {0}", e.Message);
  }
}

The following files are used as input.

<?xml version='1.0'?>
<bookstore xmlns="urn:bookstore-schema">
  <book genre="autobiography">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
</bookstore>

Validation Error: The 'publisher' attribute is not declared.

.NET Framework
Available since 1.1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft