Export (0) Print
Expand All
0 out of 1 rated this helpful - Rate this topic

XmlReader.Create Method (TextReader, XmlReaderSettings, XmlParserContext)

Creates a new XmlReader instance by using the specified text reader, settings, and context information for parsing.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)
public static XmlReader Create(
	TextReader input,
	XmlReaderSettings settings,
	XmlParserContext inputContext
)

Parameters

input
Type: System.IO.TextReader

The text reader from which to read the XML data. A text reader returns a stream of Unicode characters, so the encoding specified in the XML declaration isn't used by the XML reader to decode the data stream.

settings
Type: System.Xml.XmlReaderSettings

The settings for the new XmlReader instance. This value can be null.

inputContext
Type: System.Xml.XmlParserContext

The context information required to parse the XML fragment. The context information can include the XmlNameTable to use, encoding, namespace scope, the current xml:lang and xml:space scope, base URI, and document type definition.

This value can be null.

Return Value

Type: System.Xml.XmlReader
An object that is used to read the XML data in the stream.
ExceptionCondition
ArgumentNullException

The input value is null.

ArgumentException

The XmlReaderSettings.NameTable and XmlParserContext.NameTable properties both contain values. (Only one of these NameTable properties can be set and used).

By default an XmlUrlResolver with no credentials is used to access any external resources such as a document type definition (DTD), entities, schemas, and so on. If the external resource is located on a network resource that requires authentication, use the XmlReaderSettings.XmlResolver property to specify an XmlResolver with the necessary credentials.

Security noteSecurity Note

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

-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.

The following example creates an XmlReader object that reads an XML fragment.

string xmlFrag ="<item rk:ID='abc-23'>hammer</item> " +
                        "<item rk:ID='r2-435'>paint</item>" +
                        "<item rk:ID='abc-39'>saw</item>";

// Create the XmlNamespaceManager.
NameTable nt = new NameTable();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
nsmgr.AddNamespace("rk", "urn:store-items");

// Create the XmlParserContext.
XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

// Create the reader. 
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
XmlReader reader = XmlReader.Create(new StringReader(xmlFrag), settings, context);

.NET Framework

Supported in: 4.5.1, 4.5, 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

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, 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.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.