XmlReader.Create Method (XmlReader, XmlReaderSettings) (System.Xml)

Switch View :
ScriptFree
.NET Framework Class Library
XmlReader.Create Method (XmlReader, XmlReaderSettings)

Creates a new XmlReader instance with the specified XmlReader and XmlReaderSettings objects.

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

Visual Basic
Public Shared Function Create ( _
	reader As XmlReader, _
	settings As XmlReaderSettings _
) As XmlReader
C#
public static XmlReader Create(
	XmlReader reader,
	XmlReaderSettings settings
)
Visual C++
public:
static XmlReader^ Create(
	XmlReader^ reader, 
	XmlReaderSettings^ settings
)
F#
static member Create : 
        reader:XmlReader * 
        settings:XmlReaderSettings -> XmlReader 

Parameters

reader
Type: System.Xml.XmlReader
The XmlReader object that you wish to use as the underlying reader.
settings
Type: System.Xml.XmlReaderSettings
The XmlReaderSettings object used to configure the new XmlReader instance.
The conformance level of the XmlReaderSettings object must either match the conformance level of the underlying reader, or it must be set to Auto.

Return Value

Type: System.Xml.XmlReader
An XmlReader object that is wrapped around the specified XmlReader object.
Exceptions

Exception Condition
ArgumentNullException

The reader value is null.

InvalidOperationException

If the XmlReaderSettings object specifies a conformance level that is not consistent with conformance level of the underlying reader.

-or-

The underlying XmlReader is in an Error or Closed state.

Remarks

This method allows you add additional features to an underlying XmlReader object. The underlying XmlReader object can be another XmlReader object created by the Create method, or an XmlReader object created using one of the concrete XmlReader implementations.

A default XmlUrlResolver with no credentials is used to access any external resources such as a schema. If the external resource is located on a network resource that requires authentication, specify an XmlResolver with the necessary credentials using the XmlReaderSettings.XmlResolver property.

Security note Security Note

You can use one of the following methods to control which resources the XmlReader can access:

Restrict the resources that the XmlReader can access by setting the XmlResolver property to an XmlSecureResolver object.

-or-

Do not allow the XmlReader to open any external resources by setting the XmlResolver property to null.

The created XmlReader object expands entity references and performs XML normalization of new line characters.

Examples

The following example creates a validating XmlReader object that is wrapped around an XmlNodeReader object.

Note Note

To see the complete sample go to Validation Using a Wrapped XmlReader Object.

Visual Basic

' Create the XmlNodeReader object.
Dim doc As New XmlDocument()
doc.Load("books.xml")
Dim nodeReader As New XmlNodeReader(doc)

' Set the validation settings.
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas.Add("urn:bookstore-schema", "books.xsd")
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack

' Create a validating reader that wraps the XmlNodeReader object.
Dim reader As XmlReader = XmlReader.Create(nodeReader, settings)
' Parse the XML file.
While reader.Read()
End While


C#

// Create the XmlNodeReader object.
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");
XmlNodeReader nodeReader = new XmlNodeReader(doc);

// Set the validation settings.
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());



Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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

Reference

Other Resources