XmlReader.MoveToContent Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Проверяет, является ли текущий узел содержимым (текст без пробелов, CDATA, , ElementEndElementили EntityReferenceEndEntity) узла. Если узел не является узлом содержимого, читатель пропускает следующий узел содержимого или конец файла. Он пропускает узлы следующего типа: ProcessingInstruction, DocumentType, Comment, Whitespaceили SignificantWhitespace.
public:
virtual System::Xml::XmlNodeType MoveToContent();
public virtual System.Xml.XmlNodeType MoveToContent();
abstract member MoveToContent : unit -> System.Xml.XmlNodeType
override this.MoveToContent : unit -> System.Xml.XmlNodeType
Public Overridable Function MoveToContent () As XmlNodeType
Возвращаемое значение
Текущий NodeType узел, найденный методом или XmlNodeType.None если средство чтения достигло конца входного потока.
Исключения
Неверный XML-код, обнаруженный в входном потоке.
Метод XmlReader был вызван до завершения предыдущей асинхронной операции. В этом случае InvalidOperationException создается сообщение "Асинхронная операция уже выполняется".
Примеры
Это полезно, если вы хотите написать код, который может пропускать случайные XML-разметки без нарушения. Например, предположим, что у вас есть следующий код:
if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "price")
{
_price = reader.ReadString();
}
If reader.MoveToContent() = XmlNodeType.Element And reader.Name = "price" Then
_price = reader.ReadString()
End If
Этот код может обрабатывать следующие входные данные без нарушения.
<price>123.4</price>
и
<?xml version="1.0"><!DOCTYPE price SYSTEM
"abc"><price>123.4</price>
и
<?xml version="1.0"><!DOCTYPE price SYSTEM "abc"
[<!ENTITY p
"123.4">]><price>&p;</price>
и
<!-- some test comment --><?processing
instruction?><price>123.4</price>
Комментарии
Если текущий узел является узлом атрибута, этот метод перемещает читателя обратно к элементу, которому принадлежит атрибут.
Сведения об асинхронной версии этого метода см. в разделе MoveToContentAsync.