XmlReader Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет средство чтения, обеспечивающее быстрый прямой доступ (без кэширования) к данным XML.
public ref class XmlReader abstract : IDisposable
public ref class XmlReader abstract
public abstract class XmlReader : IDisposable
public abstract class XmlReader
type XmlReader = class
interface IDisposable
type XmlReader = class
Public MustInherit Class XmlReader
Implements IDisposable
Public MustInherit Class XmlReader
- Наследование
-
XmlReader
- Производный
- Реализации
Примеры
В следующем примере кода показано, как использовать асинхронный API для анализа XML.
async Task TestReader(System.IO.Stream stream)
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.Async = true;
using (XmlReader reader = XmlReader.Create(stream, settings))
{
while (await reader.ReadAsync())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
Console.WriteLine("Start Element {0}", reader.Name);
break;
case XmlNodeType.Text:
Console.WriteLine("Text Node: {0}",
await reader.GetValueAsync());
break;
case XmlNodeType.EndElement:
Console.WriteLine("End Element {0}", reader.Name);
break;
default:
Console.WriteLine("Other node {0} with value {1}",
reader.NodeType, reader.Value);
break;
}
}
}
}
Public Async Function TestReader(stream As System.IO.Stream) As Task
Dim settings As New XmlReaderSettings()
settings.Async = True
Using reader As XmlReader = XmlReader.Create(stream, settings)
While (Await reader.ReadAsync())
Select Case (reader.NodeType)
Case XmlNodeType.Element
Console.WriteLine("Start Element {0}", reader.Name)
Case XmlNodeType.Text
Console.WriteLine("Text Node: {0}",
Await reader.GetValueAsync())
Case XmlNodeType.EndElement
Console.WriteLine("End Element {0}", reader.Name)
Case Else
Console.WriteLine("Other node {0} with value {1}",
reader.NodeType, reader.Value)
End Select
End While
End Using
End Function
Комментарии
Дополнительные сведения об этом API см. в разделе Дополнительные примечания API для XmlReader.
Конструкторы
XmlReader() |
Инициализирует новый экземпляр класса |
Свойства
AttributeCount |
Когда переопределено в производном классе, возвращает количество атрибутов текущего узла. |
BaseURI |
Когда переопределено в производном классе, возвращает базовый URI текущего узла. |
CanReadBinaryContent |
Получает значение, указывающее, реализует ли объект XmlReader методы чтения двоичного содержимого. |
CanReadValueChunk |
Возвращает значение, указывающее, реализует ли объект XmlReader метод ReadValueChunk(Char[], Int32, Int32). |
CanResolveEntity |
Возвращает значение, определяющее, способно ли данное средство чтения выполнять синтаксический анализ и разрешение сущностей. |
Depth |
Когда переопределено в производном классе, возвращает глубину текущего узла в XML-документе. |
EOF |
Когда переопределено в производном классе, возвращает значение, показывающее, позиционировано ли средство чтения в конец потока. |
HasAttributes |
Возвращает значение, показывающее, имеются ли атрибуты у текущего узла. |
HasValue |
При переопределении в производном классе получает значение, показывающее, имеет ли текущий узел свойство Value. |
IsDefault |
Когда переопределено в производном классе, возвращает значение, определяющее, является ли текущий узел атрибутом, созданным из значения по умолчанию, определенного в DTD или схеме. |
IsEmptyElement |
При переопределении в производном классе получает значение, указывающее, является ли текущий узел пустым элементом (например, |
Item[Int32] |
Когда переопределено в производном классе, возвращает значение атрибута по указанному индексу. |
Item[String, String] |
При переопределении в производном классе получает значение атрибута с указанными свойствами LocalName и NamespaceURI. |
Item[String] |
При переопределении в производном классе получает значение атрибута с указанным свойством Name. |
LocalName |
Когда переопределено в производном классе, возвращает локальное имя текущего узла. |
Name |
Когда переопределено в производном классе, возвращает полное имя текущего узла. |
NamespaceURI |
Когда переопределено в производном классе, возвращает URI пространства имен (определенное в спецификации W3C Namespace) узла, на котором расположено средство чтения. |
NameTable |
При переопределении в производном классе получает класс XmlNameTable, связанный с данной реализацией. |
NodeType |
Когда переопределено в производном классе, возвращает тип текущего узла. |
Prefix |
Когда переопределено в производном классе, возвращает префикс пространства имен, связанный с текущим узлом. |
QuoteChar |
Когда переопределено в производном классе, возвращает знак кавычек для выделения значения узла атрибута. |
ReadState |
Когда переопределено в производном классе, возвращает состояние средства чтения. |
SchemaInfo |
Возвращает сведения схемы, которые были назначены текущему узлу в результате проверки схемы. |
Settings |
Получает объект XmlReaderSettings, используемый для создания данного экземпляра XmlReader. |
Value |
Когда переопределено в производном классе, возвращает текстовое значение текущего узла. |
ValueType |
Возвращает тип CLR текущего узла. |
XmlLang |
При переопределении в производном классе получает текущую область действия |
XmlSpace |
При переопределении в производном классе получает текущую область действия |
Методы
Close() |
При переопределении в производном классе изменяет значение свойства ReadState на Closed. |
Create(Stream) |
Создает новый экземпляр XmlReader, используя заданный поток с параметрами по умолчанию. |
Create(Stream, XmlReaderSettings) |
Создает экземпляр XmlReader с указанными потоком и параметрами. |
Create(Stream, XmlReaderSettings, String) |
Создает новый экземпляр XmlReader с использованием указанного потока, базового URI и параметров. |
Create(Stream, XmlReaderSettings, XmlParserContext) |
Создает новый экземпляр XmlReader, используя заданный поток, параметры и контекстную информацию для анализа. |
Create(String) |
Создает новый экземпляр XmlReader с указанным URI. |
Create(String, XmlReaderSettings) |
Создает новый экземпляр XmlReader с использованием указанного URI и параметров. |
Create(String, XmlReaderSettings, XmlParserContext) |
Создает новый экземпляр XmlReader с помощью указанного URI, параметров и сведений о контексте для анализа. |
Create(TextReader) |
Создает экземпляр XmlReader с использованием указанного средства чтения текста. |
Create(TextReader, XmlReaderSettings) |
Создает новый экземпляр XmlReader с использованием указанного модуля чтения текста и параметров. |
Create(TextReader, XmlReaderSettings, String) |
Создает экземпляр XmlReader с использованием указанного средства чтения текста, параметров и базового кода URI. |
Create(TextReader, XmlReaderSettings, XmlParserContext) |
Создает новый экземпляр XmlReader с использованием указанного средства чтения текста, параметров и сведений о контексте для анализа. |
Create(XmlReader, XmlReaderSettings) |
Создает новый экземпляр XmlReader, используя заданное средство чтения XML и параметры. |
Dispose() |
Освобождает все ресурсы, используемые текущим экземпляром класса XmlReader. |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом XmlReader, а при необходимости освобождает также управляемые ресурсы. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetAttribute(Int32) |
Когда переопределено в производном классе, возвращает значение атрибута по указанному индексу. |
GetAttribute(String) |
При переопределении в производном классе получает значение атрибута с указанным свойством Name. |
GetAttribute(String, String) |
При переопределении в производном классе получает значение атрибута с указанными свойствами LocalName и NamespaceURI. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
GetValueAsync() |
Асинхронно возвращает значение текущего узла. |
IsName(String) |
Возвращает значение, определяющее, является ли строковый аргумент допустимым именем XML. |
IsNameToken(String) |
Возвращает значение, определяющее, является ли строковый аргумент допустимым токеном имени XML. |
IsStartElement() |
Вызывает метод MoveToContent() и проверяет, является ли текущий узел содержимого открывающим тегом или пустым тегом элемента. |
IsStartElement(String) |
Вызывает метод MoveToContent() и проверяет, является ли текущий узел содержимого открывающим тегом или пустым тегом элемента, а также соответствует ли значение свойства Name элемента заданному аргументу. |
IsStartElement(String, String) |
Вызывает метод MoveToContent() и проверяет, является ли текущий узел содержимого открывающим тегом или пустым тегом элемента, а также соответствуют ли значения свойств LocalName и NamespaceURI элемента заданным строкам. |
LookupNamespace(String) |
Когда переопределено в производном классе, разрешает префикс пространства имен в области видимости текущего элемента. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
MoveToAttribute(Int32) |
Когда переопределено в производном классе, переходит к атрибуту с указанным индексом. |
MoveToAttribute(String) |
При переопределении в производном классе перемещает к атрибуту с указанным Name. |
MoveToAttribute(String, String) |
При переопределении в производном классе перемещает к атрибуту с указанными LocalName и NamespaceURI. |
MoveToContent() |
Проверяет, является ли текущий узел узлом содержимого (текст без пустого пространства, |
MoveToContentAsync() |
В асинхронном режиме проверяет, является ли текущий узел узлом содержимого. Если узел не является узлом содержимого, средство чтения пропускает этот узел и переходит к следующему узлу содержимого или в конец файла. |
MoveToElement() |
Когда переопределено в производном классе, переходит к элементу, содержащему текущий узел атрибута. |
MoveToFirstAttribute() |
Когда переопределено в производном классе, переходит к первому атрибуту. |
MoveToNextAttribute() |
Когда переопределено в производном классе, переходит к следующему атрибуту. |
Read() |
Когда переопределено в производном классе, считывает из потока следующий узел. |
ReadAsync() |
Асинхронно считывает следующий узел из потока. |
ReadAttributeValue() |
При переопределении в производном классе разбирает значение атрибута в один или более узлов |
ReadContentAs(Type, IXmlNamespaceResolver) |
Считывает содержимое объекта указанного типа. |
ReadContentAsAsync(Type, IXmlNamespaceResolver) |
Асинхронно считывает содержимое как объект указанного типа. |
ReadContentAsBase64(Byte[], Int32, Int32) |
Считывает содержимое и возвращает раскодированные двоичные байты Base64. |
ReadContentAsBase64Async(Byte[], Int32, Int32) |
Асинхронно считывает содержимое и возвращает декодированные из кодировки Base64 двоичные байты. |
ReadContentAsBinHex(Byte[], Int32, Int32) |
Считывает содержимое и возвращает раскодированные двоичные байты |
ReadContentAsBinHexAsync(Byte[], Int32, Int32) |
Асинхронно считывает содержимое и возвращает раскодированные двоичные байты |
ReadContentAsBoolean() |
Считывает содержимое текста в текущей позиции как значение |
ReadContentAsDateTime() |
Считывает содержимое текста в текущем положении как объект DateTime. |
ReadContentAsDateTimeOffset() |
Считывает содержимое текста в текущем положении как объект DateTimeOffset. |
ReadContentAsDecimal() |
Считывает содержимое текста в текущем положении как объект Decimal. |
ReadContentAsDouble() |
Считывает текстовое содержимое в текущей позиции как число с плавающей запятой двойной точности. |
ReadContentAsFloat() |
Считывает содержимое текста в текущей позиции как число с плавающей запятой одиночной точности. |
ReadContentAsInt() |
Считывает текстовое содержимое в текущей позиции как 32-разрядное целое число со знаком. |
ReadContentAsLong() |
Считывает текстовое содержимое в текущей позиции как 64-разрядное целое число со знаком. |
ReadContentAsObject() |
Считывает содержимое текста в текущей позиции как значение Object. |
ReadContentAsObjectAsync() |
Асинхронно считывает содержимое текста в текущем положении как объект Object. |
ReadContentAsString() |
Считывает содержимое текста в текущем положении как объект String. |
ReadContentAsStringAsync() |
Асинхронно считывает содержимое текста в текущем положении как объект String. |
ReadElementContentAs(Type, IXmlNamespaceResolver) |
Считывает содержимое элемента в качестве требуемого типа. |
ReadElementContentAs(Type, IXmlNamespaceResolver, String, String) |
Проверяет, совпадают ли указанные локальное имя и URI пространства имен с таковыми для текущего элемента, затем считывает содержимое элемента как требуемый тип. |
ReadElementContentAsAsync(Type, IXmlNamespaceResolver) |
Асинхронно считывает содержимое элемента как запрашиваемый тип. |
ReadElementContentAsBase64(Byte[], Int32, Int32) |
Считывает элемент и декодирует содержимое |
ReadElementContentAsBase64Async(Byte[], Int32, Int32) |
Асинхронно считывает элемент и расшифровывает содержимое |
ReadElementContentAsBinHex(Byte[], Int32, Int32) |
Считывает элемент и декодирует содержимое |
ReadElementContentAsBinHexAsync(Byte[], Int32, Int32) |
Асинхронно считывает элемент и расшифровывает содержимое |
ReadElementContentAsBoolean() |
Считывает текущий элемент и возвращает содержимое объекта Boolean. |
ReadElementContentAsBoolean(String, String) |
Проверяет соответствие указанного URI локального имени и пространства имен с URI текущего элемента, затем считывает текущий элемент и возвращает содержимое как объект Boolean. |
ReadElementContentAsDateTime() |
Считывает текущий элемент и возвращает содержимое объекта DateTime. |
ReadElementContentAsDateTime(String, String) |
Проверяет соответствие указанного URI локального имени и пространства имен с URI текущего элемента, затем считывает текущий элемент и возвращает содержимое как объект DateTime. |
ReadElementContentAsDecimal() |
Считывает текущий элемент и возвращает содержимое объекта Decimal. |
ReadElementContentAsDecimal(String, String) |
Проверяет соответствие указанного URI локального имени и пространства имен с URI текущего элемента, затем считывает текущий элемент и возвращает содержимое как объект Decimal. |
ReadElementContentAsDouble() |
Считывает текущий элемент и возвращает содержимое как число с плавающей запятой двойной точности. |
ReadElementContentAsDouble(String, String) |
Проверяет, совпадают ли указанные локальное имя и URI пространства имен с таковыми для текущего элемента, затем считывает текущий элемент и возвращает содержимое как число с плавающей запятой двойной точности. |
ReadElementContentAsFloat() |
Считывает текущий элемент и возвращает содержимое как число с плавающей запятой одиночной точности. |
ReadElementContentAsFloat(String, String) |
Проверяет, совпадают ли указанные локальное имя и URI пространства имен с таковыми для текущего элемента, затем считывает текущий элемент и возвращает содержимое как число с плавающей запятой одиночной точности. |
ReadElementContentAsInt() |
Считывает текущий элемент и возвращает содержимое в виде 32-разрядного целого числа со знаком. |
ReadElementContentAsInt(String, String) |
Проверяет, совпадают ли указанные локальное имя и URI пространства имен с таковыми для текущего элемента, затем считывает текущий элемент и возвращает содержимое как 32-разрядное целое число со знаком. |
ReadElementContentAsLong() |
Считывает текущий элемент и возвращает содержимое в виде 64-разрядного целого числа со знаком. |
ReadElementContentAsLong(String, String) |
Проверяет, совпадают ли указанные локальное имя и URI пространства имен с таковыми для текущего элемента, затем считывает текущий элемент и возвращает содержимое как 64-разрядное целое число со знаком. |
ReadElementContentAsObject() |
Прочитывает текущий элемент и возвращает содержимое в качестве объекта Object. |
ReadElementContentAsObject(String, String) |
Проверяет соответствие указанного URI локального имени и пространства имен с URI текущего элемента, затем считывает текущий элемент и возвращает содержимое как объект Object. |
ReadElementContentAsObjectAsync() |
Асинхронно считывает текущий элемент и возвращает содержимое как объект Object. |
ReadElementContentAsString() |
Считывает текущий элемент и возвращает содержимое объекта String. |
ReadElementContentAsString(String, String) |
Проверяет соответствие указанного URI локального имени и пространства имен с URI текущего элемента, затем считывает текущий элемент и возвращает содержимое как объект String. |
ReadElementContentAsStringAsync() |
Асинхронно считывает текущий элемент и возвращает содержимое как объект String. |
ReadElementString() |
Считывает элемент, предназначенный только для чтения. Однако рекомендуем использовать вместо этого метод ReadElementContentAsString(), предполагающий более простой способ обработки данной операции. |
ReadElementString(String) |
Проверяет перед чтением текстового элемента соответствие значения свойства Name найденного элемента и заданной строки. Однако рекомендуем использовать вместо этого метод ReadElementContentAsString(), предполагающий более простой способ обработки данной операции. |
ReadElementString(String, String) |
Проверяет перед чтением текстового элемента соответствие значений свойств LocalName и NamespaceURI найденного элемента и заданных строк. Однако рекомендуем использовать вместо этого метод ReadElementContentAsString(String, String), предполагающий более простой способ обработки данной операции. |
ReadEndElement() |
Проверяет, является ли текущий узел содержимого закрывающим тегом, и позиционирует средство чтения на следующий узел. |
ReadInnerXml() |
Когда переопределено в производном классе, считывает как строку все содержимое, включая разметку. |
ReadInnerXmlAsync() |
Асинхронно считывает в виде строки все содержимое, включая разметку. |
ReadOuterXml() |
Когда переопределено в производном классе, считывает содержимое, включая разметку, представляющую этот узел и все его дочерние узлы. |
ReadOuterXmlAsync() |
Асинхронно считывает содержимое, включая разметку, представляющее этот узел и все его дочерние узлы. |
ReadStartElement() |
Проверяет, является ли текущий узел элементом и перемещает модуль чтения к следующему узлу. |
ReadStartElement(String) |
Проверяет, является ли текущий узел элементом с заданным Name, и перемещает средство чтения на следующий узел. |
ReadStartElement(String, String) |
Проверяет, является ли текущий узел элементом с заданным LocalName и NamespaceURI, и перемещает средство чтения на следующий узел. |
ReadString() |
Когда переопределено в производном классе, считывает содержимое узла элемента или текстового узла в виде строки. Однако рекомендуем использовать вместо этого метод ReadElementContentAsString, предполагающий более простой способ обработки данной операции. |
ReadSubtree() |
Возвращает новый экземпляр |
ReadToDescendant(String) |
Переводит XmlReader к следующему сопоставленному элементу-потомку с указанным проверенным именем. |
ReadToDescendant(String, String) |
Переводит XmlReader к следующему элементу-потомку с указанным локальным именем и URI пространства имен. |
ReadToFollowing(String) |
Выполняет чтение до обнаружения элемента с указанным полным именем. |
ReadToFollowing(String, String) |
Выполняет чтение до обнаружения указанных локального имени и URI пространства имен. |
ReadToNextSibling(String) |
Переводит |
ReadToNextSibling(String, String) |
Переводит |
ReadValueChunk(Char[], Int32, Int32) |
Считывает большие потоки текста, внедренного в XML-документ. |
ReadValueChunkAsync(Char[], Int32, Int32) |
Асинхронно считывает большие потоки текста, внедренного в XML-документ. |
ResolveEntity() |
При переопределении в производном классе разрешает ссылки для сущностей для узлов |
Skip() |
Пропускает дочерний узел текущего узла. |
SkipAsync() |
Асинхронно пропускает дочерние узлы текущего узла. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
IDisposable.Dispose() |
Описание этого члена см. в разделе Dispose(). |