XmlReader.ReadToDescendant Метод

Определение

XmlReader Перемещает следующий соответствующий элемент-потомок.

Перегрузки

Имя Описание
ReadToDescendant(String, String)

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

ReadToDescendant(String)

XmlReader Перемещается к следующему элементу-потомку с указанным полным именем.

ReadToDescendant(String, String)

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

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

public:
 virtual bool ReadToDescendant(System::String ^ localName, System::String ^ namespaceURI);
public virtual bool ReadToDescendant(string localName, string namespaceURI);
abstract member ReadToDescendant : string * string -> bool
override this.ReadToDescendant : string * string -> bool
Public Overridable Function ReadToDescendant (localName As String, namespaceURI As String) As Boolean

Параметры

localName
String

Локальное имя элемента, на который вы хотите перейти.

namespaceURI
String

Универсальный код ресурса (URI) пространства имен элемента, на который вы хотите перейти.

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

true Значение , если найден соответствующий элемент-потомок; в противном случае false. Если соответствующий элемент-потомок не найден, XmlReader он размещается в конце тега (NodeType является XmlNodeType.EndElement) элемента.

Если объект XmlReader не расположен на элементе при ReadToDescendant(String, String) вызове, этот метод возвращается false и позиция не XmlReader изменяется.

Исключения

Метод XmlReader был вызван до завершения предыдущей асинхронной операции. В этом случае InvalidOperationException создается сообщение "Асинхронная операция уже выполняется".

Оба значения параметров:null

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

ReadToDescendant(String)

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

XmlReader Перемещается к следующему элементу-потомку с указанным полным именем.

public:
 virtual bool ReadToDescendant(System::String ^ name);
public virtual bool ReadToDescendant(string name);
abstract member ReadToDescendant : string -> bool
override this.ReadToDescendant : string -> bool
Public Overridable Function ReadToDescendant (name As String) As Boolean

Параметры

name
String

Полное имя элемента, на который вы хотите перейти.

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

true Значение , если найден соответствующий элемент-потомок; в противном случае false. Если соответствующий элемент-потомок не найден, XmlReader он размещается в конце тега (NodeType является XmlNodeType.EndElement) элемента.

Если объект XmlReader не расположен на элементе при ReadToDescendant(String) вызове, этот метод возвращается false и позиция не XmlReader изменяется.

Исключения

Метод XmlReader был вызван до завершения предыдущей асинхронной операции. В этом случае InvalidOperationException создается сообщение "Асинхронная операция уже выполняется".

Параметр является пустой строкой.

Примеры

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

using (XmlReader reader = XmlReader.Create("2books.xml")) {

  // Move the reader to the second book node.
  reader.MoveToContent();
  reader.ReadToDescendant("book");
  reader.Skip(); //Skip the first book.

  // Parse the file starting with the second book node.
  do {
     switch (reader.NodeType) {
        case XmlNodeType.Element:
           Console.Write("<{0}", reader.Name);
           while (reader.MoveToNextAttribute()) {
               Console.Write(" {0}='{1}'", reader.Name, reader.Value);
           }
           Console.Write(">");
           break;
        case XmlNodeType.Text:
           Console.Write(reader.Value);
           break;
        case XmlNodeType.EndElement:
           Console.Write("</{0}>", reader.Name);
           break;
     }
  }  while (reader.Read());
}
Using reader As XmlReader = XmlReader.Create("2books.xml")

  ' Move the reader to the second book node.
  reader.MoveToContent()
  reader.ReadToDescendant("book")
  reader.Skip() 'Skip the first book.
  ' Parse the file starting with the second book node.
  Do
    Select Case reader.NodeType
      Case XmlNodeType.Element
        Console.Write("<{0}", reader.Name)
        While reader.MoveToNextAttribute()
            Console.Write(" {0}='{1}'", reader.Name, reader.Value)
        End While
        Console.Write(">")
      Case XmlNodeType.Text
        Console.Write(reader.Value)
      Case XmlNodeType.EndElement
        Console.Write("</{0}>", reader.Name)
    End Select
  Loop While reader.Read()

End Using

В этом примере файл 2books.xmlиспользуется в качестве входных данных.

<!--sample XML fragment-->
<bookstore>
  <book genre='novel' ISBN='10-861003-324'>
    <title>The Handmaid's Tale</title>
    <price>19.95</price>
  </book>
  <book genre='novel' ISBN='1-861001-57-5'>
    <title>Pride And Prejudice</title>
    <price>24.95</price>
  </book>
</bookstore>

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