英語で読む

次の方法で共有


XmlReader.Skip メソッド

定義

現在のノードの子をスキップします。

C#
public virtual void Skip ();

例外

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

次の例では、2 番目のブック ノードから始まる XML ファイルを解析します。

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>

注釈

リーダーがノードまたはその属性のいずれかに配置されている <a> 場合、次の XML 入力では、リーダー Skip をノードに <b> 配置します。

リーダーがリーフ ノード (ノードやテキスト ノードなど<x>) に既に配置されている場合、呼び出しは呼び出しSkipReadabcじです。

XML
<a name="bob" age="123">
 <x/>abc<y/>
</a>
<b>
...
</b>

このメソッドは、整形式 XML をチェックします。

リーダーが 1 つの XmlValidatingReader場合、このメソッドはスキップされたコンテンツも検証します。

実装では XmlReader 、メソッドが外部エンティティを Skip 拡張するかどうかを決定します。 次の表では、さまざまな種類 XmlReader のオブジェクトに対して外部エンティティを展開するかどうかを示します。

XmlReader の型 外部エンティティを展開します
XmlTextReader いいえ。
XmlReader テキスト データを Create 読み取るメソッドによって作成されたインスタンス。 いいえ。
XmlReader バイナリ データを Create 読み取るメソッドによって作成されたインスタンス。 適用不可。
メソッドによって作成されたインスタンスを検証 XmlReader する Create スキーマ。 はい。
XmlValidatingReader はい。
XmlReader オブジェクトによって XPathNavigator 返されるインスタンス。 適用不可。
XmlNodeReader いいえ。
XmlReader インスタンスを別 XmlReader のインスタンスにラップします。 基になる XmlReaderの実装に依存します。 Skip(基になるXmlReaderメソッドが呼び出されます)。

このメソッドの非同期バージョンについては、次を参照してください SkipAsync

適用対象

製品 バージョン
.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
.NET Framework 1.1, 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
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0