Export (0) Print
Expand All

XmlTextReader Class

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

Starting with the .NET Framework 2.0, we recommend that you use the System.Xml::XmlReader class instead.

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

[PermissionSetAttribute(SecurityAction::InheritanceDemand, Name = L"FullTrust")]
public ref class XmlTextReader : public XmlReader, 
	IXmlLineInfo, IXmlNamespaceResolver

The XmlTextReader type exposes the following members.

  NameDescription
Protected methodSupported by the XNA FrameworkXmlTextReader()Initializes a new instance of the XmlTextReader.
Public methodSupported by the XNA FrameworkXmlTextReader(Stream)Initializes a new instance of the XmlTextReader class with the specified stream.
Public methodSupported by the XNA FrameworkXmlTextReader(String)Initializes a new instance of the XmlTextReader class with the specified file.
Public methodSupported by the XNA FrameworkXmlTextReader(TextReader)Initializes a new instance of the XmlTextReader class with the specified TextReader.
Protected methodSupported by the XNA FrameworkXmlTextReader(XmlNameTable)Infrastructure. Initializes a new instance of the XmlTextReader class with the specified XmlNameTable.
Public methodSupported by the XNA FrameworkXmlTextReader(Stream, XmlNameTable)Initializes a new instance of the XmlTextReader class with the specified stream and XmlNameTable.
Public methodSupported by the XNA FrameworkXmlTextReader(String, Stream)Initializes a new instance of the XmlTextReader class with the specified URL and stream.
Public methodSupported by the XNA FrameworkXmlTextReader(String, TextReader)Initializes a new instance of the XmlTextReader class with the specified URL and TextReader.
Public methodSupported by the XNA FrameworkXmlTextReader(String, XmlNameTable)Initializes a new instance of the XmlTextReader class with the specified file and XmlNameTable.
Public methodSupported by the XNA FrameworkXmlTextReader(TextReader, XmlNameTable)Initializes a new instance of the XmlTextReader class with the specified TextReader and XmlNameTable.
Public methodSupported by the XNA FrameworkXmlTextReader(Stream, XmlNodeType, XmlParserContext)Initializes a new instance of the XmlTextReader class with the specified stream, XmlNodeType, and XmlParserContext.
Public methodSupported by the XNA FrameworkXmlTextReader(String, Stream, XmlNameTable)Initializes a new instance of the XmlTextReader class with the specified URL, stream and XmlNameTable.
Public methodSupported by the XNA FrameworkXmlTextReader(String, TextReader, XmlNameTable)Initializes a new instance of the XmlTextReader class with the specified URL, TextReader and XmlNameTable.
Public methodSupported by the XNA FrameworkXmlTextReader(String, XmlNodeType, XmlParserContext)Initializes a new instance of the XmlTextReader class with the specified string, XmlNodeType, and XmlParserContext.
Top

  NameDescription
Public propertySupported by the XNA FrameworkAttributeCountGets the number of attributes on the current node. (Overrides XmlReader::AttributeCount.)
Public propertySupported by the XNA FrameworkBaseURIGets the base URI of the current node. (Overrides XmlReader::BaseURI.)
Public propertySupported by the XNA FrameworkCanReadBinaryContentGets a value indicating whether the XmlTextReader implements the binary content read methods. (Overrides XmlReader::CanReadBinaryContent.)
Public propertySupported by the XNA FrameworkCanReadValueChunkGets a value indicating whether the XmlTextReader implements the ReadValueChunk method. (Overrides XmlReader::CanReadValueChunk.)
Public propertySupported by the XNA FrameworkCanResolveEntityGets a value indicating whether this reader can parse and resolve entities. (Overrides XmlReader::CanResolveEntity.)
Public propertySupported by the XNA FrameworkDepthGets the depth of the current node in the XML document. (Overrides XmlReader::Depth.)
Public propertyDtdProcessingGets or sets the DtdProcessing enumeration.
Public propertySupported by the XNA FrameworkEncodingGets the encoding of the document.
Public propertySupported by the XNA FrameworkEntityHandlingGets or sets a value that specifies how the reader handles entities.
Public propertySupported by the XNA FrameworkEOFGets a value indicating whether the reader is positioned at the end of the stream. (Overrides XmlReader::EOF.)
Public propertySupported by the XNA FrameworkHasAttributesGets a value indicating whether the current node has any attributes. (Inherited from XmlReader.)
Public propertySupported by the XNA FrameworkHasValueGets a value indicating whether the current node can have a Value other than String.Empty. (Overrides XmlReader::HasValue.)
Public propertySupported by the XNA FrameworkIsDefaultGets a value indicating whether the current node is an attribute that was generated from the default value defined in the DTD or schema. (Overrides XmlReader::IsDefault.)
Public propertySupported by the XNA FrameworkIsEmptyElementGets a value indicating whether the current node is an empty element (for example, <MyElement/>). (Overrides XmlReader::IsEmptyElement.)
Public propertySupported by the XNA FrameworkItem[Int32]When overridden in a derived class, gets the value of the attribute with the specified index. (Inherited from XmlReader.)
Public propertySupported by the XNA FrameworkItem[String]When overridden in a derived class, gets the value of the attribute with the specified Name. (Inherited from XmlReader.)
Public propertySupported by the XNA FrameworkItem[String, String]When overridden in a derived class, gets the value of the attribute with the specified LocalName and NamespaceURI. (Inherited from XmlReader.)
Public propertySupported by the XNA FrameworkLineNumberGets the current line number.
Public propertySupported by the XNA FrameworkLinePositionGets the current line position.
Public propertySupported by the XNA FrameworkLocalNameGets the local name of the current node. (Overrides XmlReader::LocalName.)
Public propertySupported by the XNA FrameworkNameGets the qualified name of the current node. (Overrides XmlReader::Name.)
Public propertySupported by the XNA FrameworkNamespacesGets or sets a value indicating whether to do namespace support.
Public propertySupported by the XNA FrameworkNamespaceURIGets the namespace URI (as defined in the W3C Namespace specification) of the node on which the reader is positioned. (Overrides XmlReader::NamespaceURI.)
Public propertySupported by the XNA FrameworkNameTableGets the XmlNameTable associated with this implementation. (Overrides XmlReader::NameTable.)
Public propertySupported by the XNA FrameworkNodeTypeGets the type of the current node. (Overrides XmlReader::NodeType.)
Public propertySupported by the XNA FrameworkNormalizationGets or sets a value indicating whether to normalize white space and attribute values.
Public propertySupported by the XNA FrameworkPrefixGets the namespace prefix associated with the current node. (Overrides XmlReader::Prefix.)
Public propertyProhibitDtd Obsolete. Gets or sets a value indicating whether to allow DTD processing. This property is obsolete. Use DtdProcessing instead.
Public propertySupported by the XNA FrameworkQuoteCharGets the quotation mark character used to enclose the value of an attribute node. (Overrides XmlReader::QuoteChar.)
Public propertySupported by the XNA FrameworkReadStateGets the state of the reader. (Overrides XmlReader::ReadState.)
Public propertySupported by the XNA FrameworkSchemaInfoGets the schema information that has been assigned to the current node as a result of schema validation. (Inherited from XmlReader.)
Public propertySupported by the XNA FrameworkSettingsGets the XmlReaderSettings object used to create this XmlReader instance. (Inherited from XmlReader.)

In XNA Framework, this member is overridden by Settings.
Public propertySupported by the XNA FrameworkValueGets the text value of the current node. (Overrides XmlReader::Value.)
Public propertySupported by the XNA FrameworkValueTypeGets The Common Language Runtime (CLR) type for the current node. (Inherited from XmlReader.)
Public propertySupported by the XNA FrameworkWhitespaceHandlingGets or sets a value that specifies how white space is handled.
Public propertySupported by the XNA FrameworkXmlLangGets the current xml:lang scope. (Overrides XmlReader::XmlLang.)
Public propertySupported by the XNA FrameworkXmlResolverSets the XmlResolver used for resolving DTD references.
Public propertySupported by the XNA FrameworkXmlSpaceGets the current xml:space scope. (Overrides XmlReader::XmlSpace.)
Top

  NameDescription
Public methodSupported by the XNA FrameworkCloseChanges the ReadState to Closed. (Overrides XmlReader::Close().)
Public methodDispose()Releases all resources used by the current instance of the XmlReader class. (Inherited from XmlReader.)
Protected methodSupported by the XNA FrameworkDispose(Boolean)Releases the unmanaged resources used by the XmlReader and optionally releases the managed resources. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodSupported by the XNA FrameworkFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by the XNA FrameworkGetAttribute(Int32)Gets the value of the attribute with the specified index. (Overrides XmlReader::GetAttribute(Int32).)
Public methodSupported by the XNA FrameworkGetAttribute(String)Gets the value of the attribute with the specified name. (Overrides XmlReader::GetAttribute(String).)
Public methodSupported by the XNA FrameworkGetAttribute(String, String)Gets the value of the attribute with the specified local name and namespace URI. (Overrides XmlReader::GetAttribute(String, String).)
Public methodSupported by the XNA FrameworkGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodSupported by the XNA FrameworkGetNamespacesInScopeGets a collection that contains all namespaces currently in-scope.
Public methodSupported by the XNA FrameworkGetRemainderGets the remainder of the buffered XML.
Public methodSupported by the XNA FrameworkGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetValueAsyncAsynchronously gets the value of the current node. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkHasLineInfoGets a value indicating whether the class can return line information.
Public methodSupported by the XNA FrameworkIsStartElement()Calls MoveToContent and tests if the current content node is a start tag or empty element tag. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkIsStartElement(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.)
Public methodSupported by the XNA FrameworkIsStartElement(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.)
Public methodSupported by the XNA FrameworkLookupNamespaceResolves a namespace prefix in the current element's scope. (Overrides XmlReader::LookupNamespace(String).)
Protected methodSupported by the XNA FrameworkMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by the XNA FrameworkMoveToAttribute(Int32)Moves to the attribute with the specified index. (Overrides XmlReader::MoveToAttribute(Int32).)
Public methodSupported by the XNA FrameworkMoveToAttribute(String)Moves to the attribute with the specified name. (Overrides XmlReader::MoveToAttribute(String).)
Public methodSupported by the XNA FrameworkMoveToAttribute(String, String)Moves to the attribute with the specified local name and namespace URI. (Overrides XmlReader::MoveToAttribute(String, String).)
Public methodSupported by the XNA FrameworkMoveToContentChecks 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.)
Public methodMoveToContentAsyncAsynchronously 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.)
Public methodSupported by the XNA FrameworkMoveToElementMoves to the element that contains the current attribute node. (Overrides XmlReader::MoveToElement().)
Public methodSupported by the XNA FrameworkMoveToFirstAttributeMoves to the first attribute. (Overrides XmlReader::MoveToFirstAttribute().)
Public methodSupported by the XNA FrameworkMoveToNextAttributeMoves to the next attribute. (Overrides XmlReader::MoveToNextAttribute().)
Public methodSupported by the XNA FrameworkReadReads the next node from the stream. (Overrides XmlReader::Read().)
Public methodReadAsyncAsynchronously reads the next node from the stream. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadAttributeValueParses the attribute value into one or more Text, EntityReference, or EndEntity nodes. (Overrides XmlReader::ReadAttributeValue().)
Public methodSupported by the XNA FrameworkReadBase64Decodes Base64 and returns the decoded binary bytes.
Public methodSupported by the XNA FrameworkReadBinHexDecodes BinHex and returns the decoded binary bytes.
Public methodSupported by the XNA FrameworkReadCharsReads the text contents of an element into a character buffer. This method is designed to read large streams of embedded text by calling it successively.
Public methodSupported by the XNA FrameworkReadContentAsReads the content as an object of the type specified. (Inherited from XmlReader.)
Public methodReadContentAsAsyncAsynchronously reads the content as an object of the type specified. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsBase64Reads the content and returns the Base64 decoded binary bytes. (Overrides XmlReader::ReadContentAsBase64(array<Byte>, Int32, Int32).)
Public methodReadContentAsBase64AsyncAsynchronously reads the content and returns the Base64 decoded binary bytes. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsBinHexReads the content and returns the BinHex decoded binary bytes. (Overrides XmlReader::ReadContentAsBinHex(array<Byte>, Int32, Int32).)
Public methodReadContentAsBinHexAsyncAsynchronously reads the content and returns the BinHex decoded binary bytes. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsBooleanReads the text content at the current position as a Boolean. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsDateTimeReads the text content at the current position as a DateTime object. (Inherited from XmlReader.)
Public methodReadContentAsDateTimeOffsetReads the text content at the current position as a DateTimeOffset object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsDecimalReads the text content at the current position as a Decimal object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsDoubleReads the text content at the current position as a double-precision floating-point number. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsFloatReads the text content at the current position as a single-precision floating point number. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsIntReads the text content at the current position as a 32-bit signed integer. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsLongReads the text content at the current position as a 64-bit signed integer. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsObjectReads the text content at the current position as an Object. (Inherited from XmlReader.)
Public methodReadContentAsObjectAsyncAsynchronously reads the text content at the current position as an Object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadContentAsStringReads the text content at the current position as a String object. (Inherited from XmlReader.)
Public methodReadContentAsStringAsyncAsynchronously reads the text content at the current position as a String object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAs(Type, IXmlNamespaceResolver)Reads the element content as the requested type. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAs(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.)
Public methodReadElementContentAsAsyncAsynchronously reads the element content as the requested type. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsBase64Reads the element and decodes the Base64 content. (Overrides XmlReader::ReadElementContentAsBase64(array<Byte>, Int32, Int32).)
Public methodReadElementContentAsBase64AsyncAsynchronously reads the element and decodes the Base64 content. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsBinHexReads the element and decodes the BinHex content. (Overrides XmlReader::ReadElementContentAsBinHex(array<Byte>, Int32, Int32).)
Public methodReadElementContentAsBinHexAsyncAsynchronously reads the element and decodes the BinHex content. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsBoolean()Reads the current element and returns the contents as a Boolean object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsBoolean(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.)
Public methodSupported by the XNA FrameworkReadElementContentAsDateTime()Reads the current element and returns the contents as a DateTime object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsDateTime(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.)
Public methodSupported by the XNA FrameworkReadElementContentAsDecimal()Reads the current element and returns the contents as a Decimal object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsDecimal(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.)
Public methodSupported by the XNA FrameworkReadElementContentAsDouble()Reads the current element and returns the contents as a double-precision floating-point number. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsDouble(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.)
Public methodSupported by the XNA FrameworkReadElementContentAsFloat()Reads the current element and returns the contents as single-precision floating-point number. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsFloat(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.)
Public methodSupported by the XNA FrameworkReadElementContentAsInt()Reads the current element and returns the contents as a 32-bit signed integer. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsInt(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.)
Public methodSupported by the XNA FrameworkReadElementContentAsLong()Reads the current element and returns the contents as a 64-bit signed integer. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsLong(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.)
Public methodSupported by the XNA FrameworkReadElementContentAsObject()Reads the current element and returns the contents as an Object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsObject(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.)
Public methodReadElementContentAsObjectAsyncAsynchronously reads the current element and returns the contents as an Object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsString()Reads the current element and returns the contents as a String object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementContentAsString(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.)
Public methodReadElementContentAsStringAsyncAsynchronously reads the current element and returns the contents as a String object. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadElementString()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.)
Public methodSupported by the XNA FrameworkReadElementString(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.)
Public methodSupported by the XNA FrameworkReadElementString(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.)
Public methodSupported by the XNA FrameworkReadEndElementChecks that the current content node is an end tag and advances the reader to the next node. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadInnerXmlWhen overridden in a derived class, reads all the content, including markup, as a string. (Inherited from XmlReader.)
Public methodReadInnerXmlAsyncAsynchronously reads all the content, including markup, as a string. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadOuterXmlWhen overridden in a derived class, reads the content, including markup, representing this node and all its children. (Inherited from XmlReader.)
Public methodReadOuterXmlAsyncAsynchronously reads the content, including markup, representing this node and all its children. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadStartElement()Checks that the current node is an element and advances the reader to the next node. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadStartElement(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.)
Public methodSupported by the XNA FrameworkReadStartElement(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.)
Public methodSupported by the XNA FrameworkReadStringReads the contents of an element or a text node as a string. (Overrides XmlReader::ReadString().)
Public methodSupported by the XNA FrameworkReadSubtreeReturns a new XmlReader instance that can be used to read the current node, and all its descendants. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadToDescendant(String)Advances the XmlReader to the next descendant element with the specified qualified name. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadToDescendant(String, String)Advances the XmlReader to the next descendant element with the specified local name and namespace URI. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadToFollowing(String)Reads until an element with the specified qualified name is found. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadToFollowing(String, String)Reads until an element with the specified local name and namespace URI is found. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadToNextSibling(String)Advances the XmlReader to the next sibling element with the specified qualified name. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadToNextSibling(String, String)Advances the XmlReader to the next sibling element with the specified local name and namespace URI. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkReadValueChunkReads large streams of text embedded in an XML document. (Inherited from XmlReader.)
Public methodReadValueChunkAsyncAsynchronously reads large streams of text embedded in an XML document. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkResetStateResets the state of the reader to ReadState.Initial.
Public methodSupported by the XNA FrameworkResolveEntityResolves the entity reference for EntityReference nodes. (Overrides XmlReader::ResolveEntity().)
Public methodSupported by the XNA FrameworkSkipSkips the children of the current node. (Overrides XmlReader::Skip().)
Public methodSkipAsyncAsynchronously skips the children of the current node. (Inherited from XmlReader.)
Public methodSupported by the XNA FrameworkToStringReturns a string that represents the current object. (Inherited from Object.)
Top

NoteNote

Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader::Create method to take advantage of new functionality.

XmlTextReader provides forward-only, read-only access to a stream of XML data. The current node refers to the node on which the reader is positioned. The reader is advanced using any of the read methods and properties reflect the value of the current node.

This class implements XmlReader and conforms to the W3C Extensible Markup Language (XML) 1.0 and the Namespaces in XML recommendations. XmlTextReader provides the following functionality:

  • Enforces the rules of well-formed XML.

  • XmlTextReader does not provide data validation.

  • Checks that DocumentType nodes are well-formed. XmlTextReader checks the DTD for well-formedness, but does not validate using the DTD.

  • For nodes where NodeType is XmlNodeType.EntityReference, a single empty EntityReference node is returned (that is, the Value property is String.Empty).

NoteNote

The actual declarations of entities in the DTD are called Entity nodes. When you refer to these nodes in your data, they are called EntityReference nodes.

  • Does not expand default attributes.

Because the XmlTextReader does not perform the extra checks required for data validation, it provides a fast well-formedness parser.

To perform data validation, use a validating XmlReader.

To read XML data from an XmlDocument, use XmlNodeReader.

XmlTextReader throws an XmlException on XML parse errors. After an exception is thrown the state of the reader is not predictable. For example, the reported node type may be different than the actual node type of the current node. Use the ReadState property to check whether a reader is in error state.

Security Considerations

The following are things to consider when using the XmlTextReader class.

  • Exceptions thrown the XmlTextReader can disclose path information that you do not want bubbled up to the application. Your applications must catch exceptions and process them appropriately.

  • DTD processing is enabled by default. Disable DTD processing if you are concerned about Denial of Service issues or if you are dealing with untrusted sources. Set the DtdProcessing property to Prohibit to disable DTD processing.

    If you have DTD processing enabled, you can use the XmlSecureResolver to restrict the resources that the XmlTextReader can access. You can also design your application so that the XML processing is memory and time constrained. For example, configure time-out limits in your ASP.NET application.

  • XML data can include references to external resources such as a DTD file. By default external resources are resolved using an XmlUrlResolver object with no user credentials. You can secure this further by doing one of the following:

  • XML data can contain a large number of attributes, namespace declarations, nested elements and so on that require a substantial amount of time to process. To limit the size of the input that is sent to the XmlTextReader, create a custom IStream implementation and supply it the XmlTextReader.

  • The ReadValueChunk method can be used to handle large streams of data. This method reads a small number of characters at a time instead of allocating a single string for the whole value.

  • By default general entities are not expanded. General entities are expanded when you call the ResolveEntity method.

Notes to Inheritors

This class has an inheritance demand. Full trust is required to inherit from XmlTextReader. See Inheritance Demands for more information.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

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