XmlReader.ReadToDescendant Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Sposta l'oggetto XmlReader al successivo elemento discendente corrispondente.
Overload
ReadToDescendant(String, String) |
Sposta l'oggetto XmlReader al successivo elemento discendente con il nome locale e l'URI dello spazio dei nomi specificati. |
ReadToDescendant(String) |
Sposta l'oggetto XmlReader al successivo elemento discendente con il nome completo specificato. |
ReadToDescendant(String, String)
- Origine:
- XmlReader.cs
- Origine:
- XmlReader.cs
- Origine:
- XmlReader.cs
Sposta l'oggetto XmlReader al successivo elemento discendente con il nome locale e l'URI dello spazio dei nomi specificati.
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
Parametri
- localName
- String
Il nome locale dell'elemento a cui spostarsi.
- namespaceURI
- String
L'URI dello spazio dei nomi dell'elemento a cui spostarsi.
Restituisce
true
se viene trovato un elemento discendente corrispondente; in caso contrario, false
. Se non viene trovato un elemento discendente corrispondente, l'oggetto XmlReader viene posizionato sul tag di fine (NodeType è XmlNodeType.EndElement
) dell'elemento .
Se XmlReader non è posizionato in corrispondenza di un elemento quando viene chiamato ReadToDescendant(String, String), questo metodo restituisce false
e la posizione di XmlReader non viene modificata.
Eccezioni
È stato chiamato un metodo della classe XmlReader prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".
Entrambi i valori del parametro sono null
.
Si applica a
ReadToDescendant(String)
- Origine:
- XmlReader.cs
- Origine:
- XmlReader.cs
- Origine:
- XmlReader.cs
Sposta l'oggetto XmlReader al successivo elemento discendente con il nome completo specificato.
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
Parametri
- name
- String
Il nome completo dell'elemento a cui spostarsi.
Restituisce
true
se viene trovato un elemento discendente corrispondente; in caso contrario, false
. Se non viene trovato un elemento discendente corrispondente, l'oggetto XmlReader viene posizionato sul tag di fine (NodeType è XmlNodeType.EndElement
) dell'elemento .
Se XmlReader non è posizionato in corrispondenza di un elemento quando viene chiamato ReadToDescendant(String), questo metodo restituisce false
e la posizione di XmlReader non viene modificata.
Eccezioni
È stato chiamato un metodo della classe XmlReader prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".
Il parametro è una stringa vuota.
Esempio
Nell'esempio seguente viene analizzato il secondo nodo 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
Nell'esempio viene usato il file , 2books.xml
, come input.
<!--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>