XmlReader.ReadToDescendant Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Hace avanzar el objeto XmlReader hasta el siguiente elemento descendiente coincidente.
Sobrecargas
ReadToDescendant(String, String) |
Hace avanzar el objeto XmlReader hasta el siguiente elemento descendiente que tenga el URI de espacio de nombres y el nombre local especificados. |
ReadToDescendant(String) |
Hace avanzar el objeto XmlReader hasta al siguiente elemento descendiente con el nombre completo especificado. |
ReadToDescendant(String, String)
- Source:
- XmlReader.cs
- Source:
- XmlReader.cs
- Source:
- XmlReader.cs
Hace avanzar el objeto XmlReader hasta el siguiente elemento descendiente que tenga el URI de espacio de nombres y el nombre local 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 se desea desplazar.
- namespaceURI
- String
URI del espacio de nombres del elemento al que se desea desplazar.
Devoluciones
Es true
si se encuentra un elemento descendiente; en caso contrario, es false
. Si no se encuentra un elemento descendiente coincidente, se XmlReader coloca en la etiqueta final (NodeType es XmlNodeType.EndElement
) del elemento .
Si XmlReader no está en un elemento cuando se llama a ReadToDescendant(String, String), este método devuelve false
y la posición de XmlReader no cambia.
Excepciones
Se llamó un método XmlReader antes de que se termine una operación asincrónica anterior. En este caso, se genera InvalidOperationException con el mensaje “Ya hay una operación asincrónica en curso”.
Ambos valores del parámetro son null
.
Se aplica a
ReadToDescendant(String)
- Source:
- XmlReader.cs
- Source:
- XmlReader.cs
- Source:
- XmlReader.cs
Hace avanzar el objeto XmlReader hasta al 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 se desea desplazar.
Devoluciones
Es true
si se encuentra un elemento descendiente; en caso contrario, es false
. Si no se encuentra un elemento descendiente coincidente, se XmlReader coloca en la etiqueta final (NodeType es XmlNodeType.EndElement
) del elemento .
Si XmlReader no está en un elemento cuando se llama a ReadToDescendant(String), este método devuelve false
y la posición de XmlReader no cambia.
Excepciones
Se llamó un método XmlReader antes de que se termine una operación asincrónica anterior. En este caso, se genera InvalidOperationException con el mensaje “Ya hay una operación asincrónica 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.xml
como 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>