XmlReader.ReadToDescendant Method (String)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Advances the XmlReader to the next descendant element with the specified qualified name.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)

Syntax

'Declaration
Public Overridable Function ReadToDescendant ( _
    name As String _
) As Boolean
public virtual bool ReadToDescendant(
    string name
)

Parameters

  • name
    Type: System.String
    The qualified name of the element you wish to move to.

Return Value

Type: System.Boolean
true if a matching descendant element is found; otherwise false. If a matching child element is not found, the XmlReader is positioned on the end tag (NodeType is XmlNodeType.EndElement) of the element.
If the XmlReader is not positioned on an element when ReadToDescendant was called, this method returns false and the position of the XmlReader is not changed.

Examples

Dim output As New StringBuilder()

Dim xmlString As String = _
    "<root>" & _
      "<item sale-item='true' productID='123456' colors='blue green black'>" & _
            "<price>9.95</price>" & _
        "</item>" & _
        "<item sale-item='false' productID='124390'>" & _
            "<price>5.95</price>" & _
        "</item>" & _
        "<item sale-item='true' productID='53298'>" & _
            "<price>12.95</price>" & _
        "</item>" & _
    "</root>"


Using reader As XmlReader = XmlReader.Create(New StringReader(xmlString))

    reader.ReadToDescendant("item")
    Do
        reader.MoveToAttribute("sale-item")
        Dim onSale As Boolean = reader.ReadContentAsBoolean()
        If onSale Then
            output.AppendLine(reader("productID"))
        End If
    Loop While reader.ReadToNextSibling("item")

    OutputTextBlock.Text = output.ToString()
End Using
StringBuilder output = new StringBuilder();

String xmlString =
    @"<root>
  <item sale-item='true' productID='123456' colors='blue green black'>
    <price>9.95</price>
  </item>
  <item sale-item='false' productID='124390'>
    <price>5.95</price>
  </item>
  <item sale-item='true' productID='53298'>
    <price>12.95</price>
  </item>
</root>";

using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
    reader.ReadToDescendant("item");
    do
    {
        reader.MoveToAttribute("sale-item");
        Boolean onSale = reader.ReadContentAsBoolean();
        if (onSale)
        {
            output.AppendLine(reader["productID"]);
        }
    } while (reader.ReadToNextSibling("item"));

}

OutputTextBlock.Text = output.ToString();

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.