XmlReader.Create Метод

Определение

Создает новый экземпляр XmlReader.

Перегрузки

Имя Описание
Create(String, XmlReaderSettings, XmlParserContext)

Создает новый XmlReader экземпляр с помощью указанного URI, параметров и сведений о контексте для синтаксического анализа.

Create(TextReader, XmlReaderSettings, XmlParserContext)

Создает новый XmlReader экземпляр с помощью указанного средства чтения текста, параметров и контекстной информации для синтаксического анализа.

Create(Stream, XmlReaderSettings, XmlParserContext)

Создает новый XmlReader экземпляр, используя указанный поток, параметры и сведения о контексте для синтаксического анализа.

Create(Stream, XmlReaderSettings, String)

Создает новый XmlReader экземпляр с помощью указанного потока, базового URI и параметров.

Create(XmlReader, XmlReaderSettings)

Создает новый XmlReader экземпляр с помощью указанного средства чтения XML и параметров.

Create(TextReader, XmlReaderSettings, String)

Создает новый XmlReader экземпляр с помощью указанного средства чтения текста, параметров и базового URI.

Create(TextReader, XmlReaderSettings)

Создает новый XmlReader экземпляр с помощью указанного средства чтения текста и параметров.

Create(Stream, XmlReaderSettings)

Создает новый XmlReader экземпляр с указанным потоком и параметрами.

Create(String)

Создает новый XmlReader экземпляр с указанным универсальным кодом ресурса (URI).

Create(TextReader)

Создает новый XmlReader экземпляр с помощью указанного средства чтения текста.

Create(Stream)

Создает новый XmlReader экземпляр с помощью указанного потока с параметрами по умолчанию.

Create(String, XmlReaderSettings)

Создает новый XmlReader экземпляр с помощью указанного URI и параметров.

Примеры

В этом примере создается XML ридер, который удаляет незначительные пробелы, удаляет комментарии и выполняет проверку соответствия фрагментов.

XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
XmlReader reader = XmlReader.Create("books.xml", settings);
Dim settings As New XmlReaderSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.IgnoreWhitespace = true
settings.IgnoreComments = true
Dim reader As XmlReader = XmlReader.Create("books.xml", settings)

В следующем примере для доступа к файлу используются учетные данные XmlUrlResolver по умолчанию.

// Set the reader settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;
settings.IgnoreProcessingInstructions = true;
settings.IgnoreWhitespace = true;
' Set the reader settings.
Dim settings as XmlReaderSettings = new XmlReaderSettings()
settings.IgnoreComments = true
settings.IgnoreProcessingInstructions = true
settings.IgnoreWhitespace = true
// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Set the reader settings object to use the resolver.
settings.XmlResolver = resolver;

// Create the XmlReader object.
XmlReader reader = XmlReader.Create("http://ServerName/data/books.xml", settings);
' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Set the reader settings object to use the resolver.
settings.XmlResolver = resolver

' Create the XmlReader object.
Dim reader as XmlReader = XmlReader.Create("http://ServerName/data/books.xml", settings)

В следующем коде экземпляр объекта для чтения оборачивается в другой объект для чтения.

XmlTextReader txtReader = new XmlTextReader("bookOrder.xml");
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("urn:po-schema", "PO.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(txtReader, settings);
Dim txtReader As XmlTextReader = New XmlTextReader("bookOrder.xml")
Dim settings As New XmlReaderSettings()
settings.Schemas.Add("urn:po-schema", "PO.xsd")
settings.ValidationType = ValidationType.Schema
Dim reader As XmlReader = XmlReader.Create(txtReader, settings)

Этот пример связывает читателей с добавлением проверки схем DTD и XML.

XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.DTD;
XmlReader inner = XmlReader.Create("book.xml", settings); // DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader outer = XmlReader.Create(inner, settings);  // XML Schema Validation
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.DTD
Dim inner As XmlReader = XmlReader.Create("book.xml", settings) ' DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd")
settings.ValidationType = ValidationType.Schema
Dim outer As XmlReader = XmlReader.Create(inner, settings)  ' XML Schema Validation

Комментарии

Create Большинство перегрузок включают settings параметр, принимаюющий XmlReaderSettings объект. Этот объект можно использовать для:

  • Укажите, какие функции вы хотите поддерживать в объекте XmlReader .
  • Повторно используйте XmlReaderSettings объект для создания нескольких читателей. Вы можете использовать одни и те же параметры для создания нескольких читателей с одной и той же функциональностью. Кроме того, можно изменить параметры экземпляра XmlReaderSettings и создать новое средство чтения с другим набором функций.
  • Добавьте функции в существующий модуль чтения XML. Метод Create может принимать другой XmlReader объект. Базовый XmlReader объект может быть определяемым пользователем средством чтения, XmlTextReader объектом или другим XmlReader экземпляром, в который требуется добавить дополнительные функции.
  • Воспользуйтесь всеми преимуществами таких функций, как проверка соответствия и соответствие рекомендациям XML 1.0 (четвертый выпуск), которые доступны только для XmlReader объектов, созданных статическим Create методом.

Замечание

Хотя .NET включает конкретные реализации XmlReader класса, такие как XmlTextReaderXmlNodeReader, и XmlValidatingReader классы, рекомендуется создавать XmlReader экземпляры с помощью Create метода.

Параметры по умолчанию

Если вы используете перегрузку Create, которая не принимает объект XmlReaderSettings, будут использованы следующие параметры чтения по умолчанию:

Setting По умолчанию
CheckCharacters true
ConformanceLevel ConformanceLevel.Document
IgnoreComments false
IgnoreProcessingInstructions false
IgnoreWhitespace false
LineNumberOffset 0
LinePositionOffset 0
NameTable null
DtdProcessing Prohibit
Schemas Пустой XmlSchemaSet объект
ValidationFlags ProcessIdentityConstraints Включен
ValidationType None
XmlResolver null

Настройки для распространенных сценариев

Ниже приведены XmlReaderSettings свойства, которые следует задать для некоторых типичных сценариев чтения XML.

Requirement Установить
Данные должны быть хорошо сформированным XML-документом. ConformanceLevel изменено на Document.
Данные должны быть корректно сформированными анализируемыми сущностями XML. ConformanceLevel изменено на Fragment.
Данные должны быть проверены на основе DTD. DtdProcessing до Parse
ValidationType изменено на DTD.
Данные должны быть проверены на основе схемы XML. ValidationType до Schema
Schemas к XmlSchemaSet для использования в проверке. Обратите внимание, что XmlReader не поддерживает проверку схемы XML-Data в сокращенном формате (XDR).
Данные должны быть проверены на основе встроенной XML-схемы. ValidationType до Schema
ValidationFlags изменено на ProcessInlineSchema.
Поддержка типов. ValidationType до Schema
Schemas к XmlSchemaSet для использования.

XmlReader не поддерживает проверку схемы XML-Data сокращенной (XDR).

Асинхронное программирование

В синхронном режиме Create метод считывает первый блок данных из буфера файла, потока или средства чтения текста. Это может вызвать исключение, если операция ввода-вывода завершается сбоем. В асинхронном режиме первая операция ввода-вывода происходит с операцией чтения, поэтому исключения, возникающие при этой операции, будут выброшены во время ее выполнения.

Вопросы безопасности

По умолчанию для открытия ресурсов используется объект XmlReader, не содержащий учетных данных пользователя, XmlUrlResolver. Это означает, что по умолчанию XML-ридер может получить доступ к любому расположению, которое не требует учетных данных. XmlResolver Используйте свойство для управления доступом к ресурсам:

  • Используйте ThrowingResolver для ограничения ресурсов, к которым может получить доступ модуль чтения XML, или...
  • Установите XmlResolver в null, чтобы предотвратить открытие внешних ресурсов средством чтения XML.

Create(String, XmlReaderSettings, XmlParserContext)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с помощью указанного URI, параметров и сведений о контексте для синтаксического анализа.

public:
 static System::Xml::XmlReader ^ Create(System::String ^ inputUri, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
static member Create : string * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader

Параметры

inputUri
String

Универсальный код ресурса (URI) для файла, содержащего XML-данные. Объект XmlResolver объекта XmlReaderSettings используется для преобразования пути в каноническое представление данных. В противном XmlResolver случае nullиспользуется новый XmlUrlResolver объект.

settings
XmlReaderSettings

Параметры нового XmlReader экземпляра. Это значение может быть равно null.

inputContext
XmlParserContext

Сведения о контексте, необходимые для анализа фрагмента XML. Сведения о контексте могут включать сведения об XmlNameTable использовании, кодировке, области пространства имен, текущем xml:lang и xml:space области, базовом URI и определении типа документа.

Это значение может быть равно null.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение inputUri равно null.

У XmlReader него нет достаточных разрешений для доступа к расположению XML-данных.

NameTable Оба NameTable свойства содержат значения. (Можно задать и использовать только одно из этих NameTable свойств.

Не удается найти файл, указанный URI.

Формат универсального кода ресурса (URI) не является правильным.

Комментарии

По умолчанию XmlUrlResolver для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д., используется без учетных данных.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Это означает, что XmlReader доступ к любым расположениям, которые не требуют проверки подлинности. Если внешний ресурс находится на сетевом ресурсе, требующего проверки подлинности, используйте XmlReaderSettings.XmlResolver свойство для указания XmlResolver необходимых учетных данных.

Important

Вы можете ограничить ресурсы, к которым XmlReader можно получить доступ с помощью ThrowingResolver.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(TextReader, XmlReaderSettings, XmlParserContext)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с помощью указанного средства чтения текста, параметров и контекстной информации для синтаксического анализа.

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader

Параметры

input
TextReader

Средство чтения текста, из которого считываются XML-данные. Средство чтения текста возвращает поток символов Юникода, поэтому кодировка, указанная в объявлении XML, не используется средством чтения XML для декодирования потока данных.

settings
XmlReaderSettings

Параметры нового XmlReader экземпляра. Это значение может быть равно null.

inputContext
XmlParserContext

Сведения о контексте, необходимые для анализа фрагмента XML. Сведения о контексте могут включать сведения об XmlNameTable использовании, кодировке, области пространства имен, текущем xml:lang и xml:space области, базовом URI и определении типа документа.

Это значение может быть равно null.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение input равно null.

NameTable Оба NameTable свойства содержат значения. (Можно задать и использовать только одно из этих NameTable свойств.)

Примеры

В следующем примере создается XmlReader объект, считывающий фрагмент XML.

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);
Dim xmlFrag As String = "<item rk:ID='abc-23'>hammer</item> " & _
                                     "<item rk:ID='r2-435'>paint</item>" & _
                                     "<item rk:ID='abc-39'>saw</item>"

' Create the XmlNamespaceManager.
Dim nt As New NameTable()
Dim nsmgr As New XmlNamespaceManager(nt)
nsmgr.AddNamespace("rk", "urn:store-items")

' Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)

' Create the reader. 
Dim settings As New XmlReaderSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
Dim reader As XmlReader = XmlReader.Create(New StringReader(xmlFrag), settings, context)

Комментарии

По умолчанию XmlUrlResolver для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д., используется без учетных данных.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится на сетевом ресурсе, требующего проверки подлинности, используйте XmlReaderSettings.XmlResolver свойство для указания XmlResolver необходимых учетных данных.

Important

Для управления доступом к ресурсам XmlReader можно использовать один из следующих методов:

  • Ограничить ресурсы, к которым XmlReader можно получить доступ с помощью ThrowingResolver.
  • Не разрешайте XmlReader открывать внешние ресурсы, установив значение XmlResolver для свойства null.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(Stream, XmlReaderSettings, XmlParserContext)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр, используя указанный поток, параметры и сведения о контексте для синтаксического анализа.

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader

Параметры

input
Stream

Поток, содержащий XML-данные.

Проверяет XmlReader первые байты потока, ищет знак порядка байтов или другой знак кодирования. При определении кодировки кодирование используется для продолжения чтения потока, а обработка продолжает анализировать входные данные в виде потока символов Юникода.

settings
XmlReaderSettings

Параметры нового XmlReader экземпляра. Это значение может быть равно null.

inputContext
XmlParserContext

Сведения о контексте, необходимые для анализа фрагмента XML. Сведения о контексте могут включать сведения об XmlNameTable использовании, кодировке, области пространства имен, текущем xml:lang и xml:space области, базовом URI и определении типа документа.

Это значение может быть равно null.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение input равно null.

Комментарии

По умолчанию XmlUrlResolver для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д., используется без учетных данных.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится на сетевом ресурсе, требующего проверки подлинности, используйте XmlReaderSettings.XmlResolver свойство для указания XmlResolver необходимых учетных данных.

Important

Для управления доступом к ресурсам XmlReader можно использовать один из следующих методов:

  • Ограничить ресурсы, к которым XmlReader можно получить доступ с помощью ThrowingResolver.
  • Не разрешайте XmlReader открывать внешние ресурсы, установив значение XmlResolver для свойства null.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(Stream, XmlReaderSettings, String)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с помощью указанного потока, базового URI и параметров.

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings, System::String ^ baseUri);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings? settings, string? baseUri);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings settings, string baseUri);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings * string -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings, baseUri As String) As XmlReader

Параметры

input
Stream

Поток, содержащий XML-данные.

Проверяет XmlReader первые байты потока, ищет знак порядка байтов или другой знак кодирования. При определении кодировки кодирование используется для продолжения чтения потока, а обработка продолжает анализировать входные данные в виде потока символов Юникода.

settings
XmlReaderSettings

Параметры нового XmlReader экземпляра. Это значение может быть равно null.

baseUri
String

Базовый универсальный код ресурса (URI) для считываемой сущности или документа. Это значение может быть равно null.

Примечание по безопасности Базовый универсальный код ресурса (URI) используется для разрешения относительного URI XML-документа. Не используйте базовый универсальный код ресурса (URI) из недоверенного источника.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение input равно null.

Комментарии

По умолчанию XmlUrlResolver для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д., используется без учетных данных.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится на сетевом ресурсе, требующего проверки подлинности, используйте XmlReaderSettings.XmlResolver свойство для указания XmlResolver необходимых учетных данных.

Important

Для управления доступом к ресурсам XmlReader можно использовать один из следующих методов:

  • Ограничить ресурсы, к которым XmlReader можно получить доступ с помощью ThrowingResolver.
  • Не разрешайте XmlReader открывать внешние ресурсы, установив значение XmlResolver для свойства null.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(XmlReader, XmlReaderSettings)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с помощью указанного средства чтения XML и параметров.

public:
 static System::Xml::XmlReader ^ Create(System::Xml::XmlReader ^ reader, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(System.Xml.XmlReader reader, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(System.Xml.XmlReader reader, System.Xml.XmlReaderSettings? settings);
static member Create : System.Xml.XmlReader * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (reader As XmlReader, settings As XmlReaderSettings) As XmlReader

Параметры

reader
XmlReader

Объект, который требуется использовать в качестве базового средства чтения XML.

settings
XmlReaderSettings

Параметры нового XmlReader экземпляра.

Уровень соответствия объекта должен соответствовать уровню XmlReaderSettings соответствия базового средства чтения или иметь значение Auto.

Возвращаемое значение

Объект, который упакован вокруг указанного XmlReader объекта.

Исключения

Значение reader равно null.

XmlReaderSettings Если объект задает уровень соответствия, который не соответствует уровню соответствия базового средства чтения.

–или–

Базовый XmlReader объект находится в состоянии Error или Closed состоянии.

Примеры

В следующем примере создается проверяющий XmlReader объект, который упакован вокруг XmlNodeReader объекта.

// 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());
' 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

Комментарии

Этот метод позволяет добавлять дополнительные функции в базовый XmlReader объект. Базовый XmlReader объект может быть другим XmlReader объектом, созданным Create методом, или XmlReader объектом, созданным с помощью одной из конкретных XmlReader реализаций.

Значение по умолчанию XmlUrlResolver без учетных данных используется для доступа к внешним ресурсам, таким как схема.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится в сетевом ресурсе, требующего проверки подлинности, укажите XmlResolver необходимые учетные данные с помощью XmlReaderSettings.XmlResolver свойства.

Important

Для управления доступом к ресурсам XmlReader можно использовать один из следующих методов:

  • Ограничить ресурсы, к которым XmlReader можно получить доступ с помощью ThrowingResolver.
  • Не разрешайте XmlReader открывать внешние ресурсы, установив значение XmlResolver для свойства null.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(TextReader, XmlReaderSettings, String)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с помощью указанного средства чтения текста, параметров и базового URI.

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings, System::String ^ baseUri);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings? settings, string? baseUri);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings settings, string baseUri);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings * string -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings, baseUri As String) As XmlReader

Параметры

input
TextReader

Средство чтения текста, из которого считываются XML-данные. Средство чтения текста возвращает поток символов Юникода, поэтому кодировка, указанная в объявлении XML, не используется XmlReader для декодирования потока данных.

settings
XmlReaderSettings

Параметры нового XmlReader экземпляра. Это значение может быть равно null.

baseUri
String

Базовый универсальный код ресурса (URI) для считываемой сущности или документа. Это значение может быть равно null.

Примечание по безопасности Базовый универсальный код ресурса (URI) используется для разрешения относительного URI XML-документа. Не используйте базовый универсальный код ресурса (URI) из недоверенного источника.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение input равно null.

Комментарии

По умолчанию XmlUrlResolver для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д., используется без учетных данных.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится на сетевом ресурсе, требующего проверки подлинности, используйте XmlReaderSettings.XmlResolver свойство для указания XmlResolver необходимых учетных данных.

Important

Для управления доступом к ресурсам XmlReader можно использовать один из следующих методов:

  • Ограничить ресурсы, к которым XmlReader можно получить доступ с помощью ThrowingResolver.
  • Не разрешайте XmlReader открывать внешние ресурсы, установив значение XmlResolver для свойства null.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(TextReader, XmlReaderSettings)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с помощью указанного средства чтения текста и параметров.

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings? settings);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings) As XmlReader

Параметры

input
TextReader

Средство чтения текста, из которого считываются XML-данные. Средство чтения текста возвращает поток символов Юникода, поэтому кодировка, указанная в объявлении XML, не используется средством чтения XML для декодирования потока данных.

settings
XmlReaderSettings

Параметры для нового XmlReader. Это значение может быть равно null.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение input равно null.

Комментарии

По умолчанию XmlUrlResolver для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д., используется без учетных данных.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится на сетевом ресурсе, требующего проверки подлинности, используйте XmlReaderSettings.XmlResolver свойство для указания XmlResolver необходимых учетных данных.

Important

Для управления доступом к ресурсам XmlReader можно использовать один из следующих методов:

  • Ограничить ресурсы, к которым XmlReader можно получить доступ с помощью ThrowingResolver.
  • Не разрешайте XmlReader открывать внешние ресурсы, установив значение XmlResolver для свойства null.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(Stream, XmlReaderSettings)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с указанным потоком и параметрами.

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings? settings);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings) As XmlReader

Параметры

input
Stream

Поток, содержащий XML-данные.

Проверяет XmlReader первые байты потока, ищет знак порядка байтов или другой знак кодирования. При определении кодировки кодирование используется для продолжения чтения потока, а обработка продолжает анализировать входные данные в виде потока символов Юникода.

settings
XmlReaderSettings

Параметры нового XmlReader экземпляра. Это значение может быть равно null.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение input равно null.

Комментарии

По умолчанию XmlUrlResolver для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д., используется без учетных данных.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится на сетевом ресурсе, требующего проверки подлинности, используйте XmlReaderSettings.XmlResolver свойство для указания XmlResolver необходимых учетных данных.

Important

Для управления доступом к ресурсам XmlReader можно использовать один из следующих методов:

  • Ограничить ресурсы, к которым XmlReader можно получить доступ с помощью ThrowingResolver.
  • Не разрешайте XmlReader открывать внешние ресурсы, установив значение XmlResolver для свойства null.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(String)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с указанным универсальным кодом ресурса (URI).

public:
 static System::Xml::XmlReader ^ Create(System::String ^ inputUri);
public static System.Xml.XmlReader Create(string inputUri);
static member Create : string -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String) As XmlReader

Параметры

inputUri
String

Универсальный код ресурса (URI) для файла, содержащего XML-данные. Класс XmlUrlResolver используется для преобразования пути в каноническое представление данных.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение inputUri равно null.

У XmlReader него нет достаточных разрешений для доступа к расположению XML-данных.

Файл, идентифицированный URI, не существует.

Формат универсального кода ресурса (URI) не является правильным.

Примечание. В .NET для приложений магазина Windows или библиотеки классов Portable перехватите исключение базового класса FormatException.

Примеры

В следующем примере создается XmlReader объект, считывающий XML-файл данных, указанный URI.

// Create the XmlReader object.
XmlReader reader = XmlReader.Create("books.xml");
' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("books.xml")

Комментарии

Объект XmlReaderSettings с параметрами по умолчанию используется для создания средства чтения. Если вы хотите указать функции для поддержки созданного средства чтения, используйте перегрузку, которая принимает XmlReaderSettings объект в XmlReaderSettings качестве одного из его аргументов, и передайте объект с правильными параметрами.

Значение по умолчанию XmlUrlResolver без учетных данных используется для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится в сетевом ресурсе, требующего проверки подлинности, укажите XmlResolver необходимые учетные данные с помощью XmlReaderSettings.XmlResolver свойства.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(TextReader)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с помощью указанного средства чтения текста.

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input);
public static System.Xml.XmlReader Create(System.IO.TextReader input);
static member Create : System.IO.TextReader -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader) As XmlReader

Параметры

input
TextReader

Средство чтения текста, из которого считываются XML-данные. Средство чтения текста возвращает поток символов Юникода, поэтому кодировка, указанная в объявлении XML, не используется средством чтения XML для декодирования потока данных.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение input равно null.

Примеры

В следующем примере класс используется StringReader для чтения XML-строки.

string xmlData ="<item productID='124390'>" +
                        "<price>5.95</price>" +
                        "</item>";

// Create the XmlReader object.
XmlReader reader = XmlReader.Create(new StringReader(xmlData));
Dim xmlData As String = "<item productID='124390'>" & _ 
                                     "<price>5.95</price>" & _ 
                                     "</item>"

' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create(New StringReader(xmlData))

Комментарии

Объект XmlReaderSettings с параметрами по умолчанию используется для создания средства чтения. Если вы хотите указать функции для поддержки созданного средства чтения, используйте перегрузку, которая принимает XmlReaderSettings объект в XmlReaderSettings качестве одного из его аргументов, и передайте объект с правильными параметрами.

Значение по умолчанию XmlUrlResolver без учетных данных используется для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится в сетевом ресурсе, требующего проверки подлинности, укажите XmlResolver необходимые учетные данные с помощью XmlReaderSettings.XmlResolver свойства.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(Stream)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с помощью указанного потока с параметрами по умолчанию.

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input);
public static System.Xml.XmlReader Create(System.IO.Stream input);
static member Create : System.IO.Stream -> System.Xml.XmlReader
Public Shared Function Create (input As Stream) As XmlReader

Параметры

input
Stream

Поток, содержащий XML-данные.

Проверяет XmlReader первые байты потока, ищет знак порядка байтов или другой знак кодирования. При определении кодировки кодирование используется для продолжения чтения потока, а обработка продолжает анализировать входные данные в виде потока символов Юникода.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение input равно null.

У XmlReader него нет достаточных разрешений для доступа к расположению XML-данных.

Примеры

В следующем примере создается XmlReader объект, который считывается из FileStreamобъекта.


FileStream fs = new FileStream(@"C:\data\books.xml", FileMode.OpenOrCreate,
                                                                    FileAccess.Read, FileShare.Read);

// Create the XmlReader object.
XmlReader reader = XmlReader.Create(fs);
    Dim fs As New FileStream("C:\data\books.xml", FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)
    
    ' Create the XmlReader object.
    Dim reader As XmlReader = XmlReader.Create(fs)

End Sub

Комментарии

Объект XmlReaderSettings с параметрами по умолчанию используется для создания средства чтения. Если вы хотите указать функции для поддержки созданного средства чтения, используйте перегрузку, которая принимает XmlReaderSettings объект в XmlReaderSettings качестве одного из его аргументов, и передайте объект с правильными параметрами.

Значение по умолчанию XmlUrlResolver без учетных данных используется для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Если внешний ресурс находится в сетевом ресурсе, требующего проверки подлинности, укажите XmlResolver необходимые учетные данные с помощью XmlReaderSettings.XmlResolver свойства.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к

Create(String, XmlReaderSettings)

Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs
Исходный код:
XmlReader.cs

Создает новый XmlReader экземпляр с помощью указанного URI и параметров.

public:
 static System::Xml::XmlReader ^ Create(System::String ^ inputUri, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings? settings);
static member Create : string * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String, settings As XmlReaderSettings) As XmlReader

Параметры

inputUri
String

Универсальный код ресурса (URI) для файла, содержащего XML-данные. Объект XmlResolver объекта XmlReaderSettings используется для преобразования пути в каноническое представление данных. В противном XmlResolver случае nullиспользуется новый XmlUrlResolver объект.

settings
XmlReaderSettings

Параметры нового XmlReader экземпляра. Это значение может быть равно null.

Возвращаемое значение

Объект, используемый для чтения XML-данных в потоке.

Исключения

Значение inputUri равно null.

Не удается найти файл, указанный URI.

Формат универсального кода ресурса (URI) не является правильным.

Примечание. В .NET для приложений магазина Windows или библиотеки классов Portable перехватите исключение базового класса FormatException.

Примеры

В следующем примере создается XmlReader объект, поддерживающий проверку определения типа документа (DTD).

// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);

 // Create the XmlReader object.
XmlReader reader = XmlReader.Create("itemDTD.xml", settings);

// Parse the file.
while (reader.Read()) {}
' Set the validation settings.
Dim settings As New XmlReaderSettings()
settings.DtdProcessing = DtdProcessing.Parse
settings.ValidationType = ValidationType.DTD
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack

' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("itemDTD.xml", settings)

' Parse the file. 
While reader.Read()
End While

Комментарии

По умолчанию XmlUrlResolver для доступа к внешним ресурсам, таким как определение типа документа (DTD), сущности, схемы и т. д., используется без учетных данных.

Important

Начиная с .NET Framework 4.5.2, по умолчанию XmlUrlResolver не предоставляется. Если решение предназначено для .NET Framework 4.5.2 или более поздних версий, укажите XmlResolver свойство.XmlReaderSettings.XmlResolver

Это означает, что XmlReader доступ к любым расположениям, которые не требуют проверки подлинности. Если внешний ресурс находится на сетевом ресурсе, требующего проверки подлинности, используйте XmlReaderSettings.XmlResolver свойство для указания XmlResolver необходимых учетных данных.

Important

Вы можете ограничить ресурсы, к которым XmlReader можно получить доступ с помощью ThrowingResolver.

Созданный XmlReader объект расширяет ссылки на сущности и выполняет нормализацию XML новых символов строки.

Применяется к