XmlReader.ReadToDescendant Metoda

Definice

Přejde na XmlReader další odpovídající následný prvek.

Přetížení

ReadToDescendant(String, String)

Přejde na XmlReader další následný prvek se zadaným místním názvem a identifikátorem URI oboru názvů.

ReadToDescendant(String)

Přejde na XmlReader další následný prvek se zadaným kvalifikovaným názvem.

ReadToDescendant(String, String)

Přejde na XmlReader další následný prvek se zadaným místním názvem a identifikátorem URI oboru názvů.

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

Parametry

localName
String

Místní název prvku, na který chcete přejít.

namespaceURI
String

Identifikátor URI oboru názvů elementu, do kterého chcete přejít.

Návraty

true Pokud je nalezen odpovídající následník prvek; jinak false. Pokud není nalezen odpovídající následný prvek, XmlReader je umístěn na koncové značce (NodeType is XmlNodeType.EndElement) elementu.

XmlReader Pokud není umístěn na prvek, když ReadToDescendant(String, String) byl volána, tato metoda vrátí false a pozice XmlReader není změněna.

Výjimky

Před XmlReader dokončením předchozí asynchronní operace byla volána metoda . V tomto případě InvalidOperationException je vyvolán se zprávou "Asynchronní operace již probíhá.".

Obě hodnoty parametrů jsou null.

Platí pro

ReadToDescendant(String)

Přejde na XmlReader další následný prvek se zadaným kvalifikovaným názvem.

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

Parametry

name
String

Kvalifikovaný název prvku, na který chcete přejít.

Návraty

true Pokud je nalezen odpovídající následník prvek; jinak false. Pokud není nalezen odpovídající následný prvek, XmlReader je umístěn na koncové značce (NodeType is XmlNodeType.EndElement) elementu.

XmlReader Pokud není umístěn na prvek, když ReadToDescendant(String) byl volána, tato metoda vrátí false a pozice XmlReader není změněna.

Výjimky

Před XmlReader dokončením předchozí asynchronní operace byla volána metoda . V tomto případě InvalidOperationException je vyvolán se zprávou "Asynchronní operace již probíhá.".

Parametr je prázdný řetězec.

Příklady

Následující příklad analyzuje druhý uzel knihy.

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

V příkladu se jako vstup používá soubor 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>

Platí pro