XmlReader.MoveToElement 方法


当在派生类中被重写时,移动到包含当前属性节点的元素。When overridden in a derived class, moves to the element that contains the current attribute node.

 abstract bool MoveToElement();
public abstract bool MoveToElement ();
abstract member MoveToElement : unit -> bool
Public MustOverride Function MoveToElement () As Boolean



如果读取器定位在属性上(读取器移动到拥有该属性的元素),则为 true;如果读取器未定位在属性上(读取器的位置不更改),则为 falsetrue if the reader is positioned on an attribute (the reader moves to the element that owns the attribute); false if the reader is not positioned on an attribute (the position of the reader does not change).


在上一次异步操作完成之前调用了 XmlReader 方法。An XmlReader method was called before a previous asynchronous operation finished. 在此情况下,会引发 InvalidOperationException 并显示消息“异步操作已在进行中。”In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."


下面的示例显示当前节点上的所有属性。The following example displays all attributes on the current node.

if (reader.HasAttributes) {
  Console.WriteLine("Attributes of <" + reader.Name + ">");
  for (int i = 0; i < reader.AttributeCount; i++) {
    Console.Write(" {0}={1}", reader.Name, reader.Value);
reader.MoveToElement(); // Moves the reader back to the element node.
If reader.HasAttributes Then
  Console.WriteLine("Attributes of <" + reader.Name + ">")
  Dim i As Integer
  For i = 0 To reader.AttributeCount - 1
    Console.Write(" {0}={1}", reader.Name, reader.Value)
  Next i
  reader.MoveToElement() 'Moves the reader back to the element node.
End If


使用此方法可以在通过元素的属性导航后返回到元素。Use this method to return to an element after navigating through its attributes. 此方法将读取器移动到以下节点类型之一: ElementDocumentTypeXmlDeclarationThis method moves the reader to one of the following node types: Element, DocumentType, or XmlDeclaration.