XmlReader.ReadToDescendant Método

Definición

Avanza hasta XmlReader el siguiente elemento descendiente coincidente.

Sobrecargas

Nombre Description
ReadToDescendant(String, String)

Avanza al XmlReader siguiente elemento descendiente con el nombre local y el URI del espacio de nombres especificados.

ReadToDescendant(String)

Avanza al XmlReader siguiente elemento descendiente con el nombre completo especificado.

ReadToDescendant(String, String)

Avanza al XmlReader siguiente elemento descendiente con el nombre local y el URI del espacio de nombres especificados.

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

Parámetros

localName
String

Nombre local del elemento al que desea desplazarse.

namespaceURI
String

Identificador URI del espacio de nombres del elemento al que desea desplazarse.

Devoluciones

true si se encuentra un elemento descendiente coincidente; de lo contrario false, es . Si no se encuentra un elemento descendiente coincidente, XmlReader se coloca en la etiqueta final (NodeType es XmlNodeType.EndElement) del elemento .

XmlReader Si no se coloca en un elemento cuando ReadToDescendant(String, String) se llamó a , este método devuelve false y no se cambia la posición de .XmlReader

Excepciones

Se llamó a un XmlReader método antes de que finalice una operación asincrónica anterior. En este caso, InvalidOperationException se produce con el mensaje "Una operación asincrónica ya está en curso".

Ambos valores de parámetro son null.

Se aplica a

ReadToDescendant(String)

Avanza al XmlReader siguiente elemento descendiente con el nombre completo especificado.

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

Parámetros

name
String

Nombre completo del elemento al que desea desplazarse.

Devoluciones

true si se encuentra un elemento descendiente coincidente; de lo contrario false, es . Si no se encuentra un elemento descendiente coincidente, XmlReader se coloca en la etiqueta final (NodeType es XmlNodeType.EndElement) del elemento .

XmlReader Si no se coloca en un elemento cuando ReadToDescendant(String) se llamó a , este método devuelve false y no se cambia la posición de .XmlReader

Excepciones

Se llamó a un XmlReader método antes de que finalice una operación asincrónica anterior. En este caso, InvalidOperationException se produce con el mensaje "Una operación asincrónica ya está en curso".

El parámetro es una cadena vacía.

Ejemplos

En el ejemplo siguiente se analiza el segundo nodo de libro.

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

En el ejemplo se usa el archivo , 2books.xmlcomo entrada.

<!--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>

Se aplica a