Export (0) Print
Expand All

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
Assemblies:   System.Xml (in System.Xml.dll)
  System.Xml.ReaderWriter (in System.Xml.ReaderWriter.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.

Important noteImportant

Starting with the .NET Framework 4.5.2, no default XmlUrlResolver is provided. If you’re solution targets the.NET Framework 4.5.2, specify an XmlResolver using the XmlReaderSettings.XmlResolver property.

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.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft