英語で読む

次の方法で共有


XmlReader.ReadToDescendant メソッド

定義

XmlReader を次に一致する子孫要素に進めます。

オーバーロード

ReadToDescendant(String, String)

指定されたローカル名と名前空間 URI を使用して XmlReader を次の子孫要素に進めます。

ReadToDescendant(String)

指定された修飾名を使用して XmlReader を次の子孫要素に進めます。

ReadToDescendant(String, String)

ソース:
XmlReader.cs
ソース:
XmlReader.cs
ソース:
XmlReader.cs

指定されたローカル名と名前空間 URI を使用して XmlReader を次の子孫要素に進めます。

C#
public virtual bool ReadToDescendant (string localName, string namespaceURI);

パラメーター

localName
String

移動先となる要素のローカル名。

namespaceURI
String

移動先となる要素の名前空間 URI。

戻り値

一致する子孫要素が見つかった場合は true。それ以外の場合は false。 一致する子孫要素が見つからない場合、 XmlReader は 要素の終了タグ (NodeTypeXmlNodeType.EndElement) に配置されます。

ReadToDescendant(String, String) が呼び出されたときに XmlReader が要素に配置されていない場合、このメソッドは false を返し、XmlReader の位置を変更しません。

例外

先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。 この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。

両方のパラメーター値が null です。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ReadToDescendant(String)

ソース:
XmlReader.cs
ソース:
XmlReader.cs
ソース:
XmlReader.cs

指定された修飾名を使用して XmlReader を次の子孫要素に進めます。

C#
public virtual bool ReadToDescendant (string name);

パラメーター

name
String

移動先となる要素の修飾名。

戻り値

一致する子孫要素が見つかった場合は true。それ以外の場合は false。 一致する子孫要素が見つからない場合、 XmlReader は 要素の終了タグ (NodeTypeXmlNodeType.EndElement) に配置されます。

ReadToDescendant(String) が呼び出されたときに XmlReader が要素に配置されていない場合、このメソッドは false を返し、XmlReader の位置を変更しません。

例外

先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。 この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。

パラメーターは空の文字列です。

次の例では、2 番目の書籍ノードを解析します。

C#
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());
}

この例では、 2books.xmlファイル を入力として使用します。

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>

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0