Assembly: System.Xml (in System.Xml.dll)
Thetype exposes the following members.
|CheckCharacters||Gets or sets a value indicating whether to do character checking.|
|CloseInput||Gets or sets a value indicating whether the underlying stream or TextReader should be closed when the reader is closed.|
|ConformanceLevel||Gets or sets the level of conformance which the XmlReader will comply.|
|DtdProcessing||Gets or sets the DtdProcessing enumeration.|
|IgnoreComments||Gets or sets a value indicating whether to ignore comments.|
|IgnoreProcessingInstructions||Gets or sets a value indicating whether to ignore processing instructions.|
|IgnoreWhitespace||Gets or sets a value indicating whether to ignore insignificant white space.|
|LineNumberOffset||Gets or sets line number offset of the XmlReader object.|
|LinePositionOffset||Gets or sets line position offset of the XmlReader object.|
|MaxCharactersFromEntities||Gets or sets a value indicating the maximum allowable number of characters in a document that result from expanding entities.|
|MaxCharactersInDocument||Gets or sets a value indicating the maximum allowable number of characters XML document. A zero (0) value means no limits on the size of the XML document. A non-zero value specifies the maximum size, in characters.|
|NameTable||Gets or sets the XmlNameTable used for atomized string comparisons.|
|ProhibitDtd||Obsolete. Gets or sets a value indicating whether to prohibit document type definition (DTD) processing. This property is obsolete. Use DtdProcessing instead.|
|Schemas||Gets or sets the XmlSchemaSet to use when performing schema validation.|
|ValidationFlags||Gets or sets a value indicating the schema validation settings. This setting applies to schema validating XmlReader objects (ValidationType property set to ValidationType.Schema).|
|ValidationType||Gets or sets a value indicating whether the XmlReader will perform validation or type assignment when reading.|
|XmlResolver||Sets the XmlResolver used to access external documents.|
|Clone||Creates a copy of the instance.|
|Equals(Object)||Determines whether the specified Object is equal to the current Object. (Inherited from Object.)|
|GetHashCode||Serves as a hash function for a particular type. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|Reset||Resets the members of the settings class to their default values.|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
In the .NET Framework version 2.0 release, the Create method is the preferred mechanism for obtaining XmlReader instances. The Create method uses the class to specify which features to implement in the created XmlReader object.
For more information, see Creating XML Readers.
The following are things to consider when using the class.
The ProcessInlineSchema and ProcessSchemaLocation validation flags of an object are not set by default. When these flags are set, the XmlResolver of the object is used to resolve schema locations encountered in the instance document in the XmlReader. If the XmlResolver object is null, schema locations are not resolved even if the ProcessInlineSchema and ProcessSchemaLocation validation flags are set.
Schemas added during validation add new types and can change the validation outcome of the document being validated. As a result, external schemas should only be resolved from trusted sources.
Validation error messages may expose sensitive content model information. Validation error and warning messages are handled using the ValidationEventHandler delegate, or are exposed as an XmlSchemaValidationException if no event handler is provided to the object (validation warnings do not cause an XmlSchemaValidationException to be thrown). This content model information should not be exposed in untrusted scenarios. Validation warning messages are suppressed by default and can be reported by setting the ReportValidationWarnings flag.
Disabling the ProcessIdentityConstraints flag (enabled by default) is recommended when validating, untrusted, large XML documents in high availability scenarios against a schema with identity constraints over a large part of the document.
objects can contain sensitive information such as user credentials. You should be careful when caching objects, or when passing the object from one component to another.
DTD processing is disabled by default. If you enable DTD processing, you need to be aware of including DTDs from untrusted sources and possible denial of service attacks. Use the XmlSecureResolver to restrict the resources that the XmlReader can access.
Memory usage of an application that uses XmlReader may have a correlation to the size of the parsed XML document. One form of denial of service attack is when excessively large XML documents are submitted to be parsed. You can limit the size of the document that can be parsed by setting the MaxCharactersInDocument property and then limit the number of characters that result from expanding entities by setting the MaxCharactersFromEntities property.
// Create an XmlUrlResolver with the credentials necessary to access the Web server. XmlUrlResolver resolver = new XmlUrlResolver(); System.Net.NetworkCredential myCred; myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain); resolver.Credentials = myCred; XmlReaderSettings settings = new XmlReaderSettings(); settings.XmlResolver = resolver; // Create the reader. XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);