XmlReader.Skip メソッド

定義

現在のノードの子をスキップします。Skips the children of the current node.

public:
 virtual void Skip();
public virtual void Skip ();
abstract member Skip : unit -> unit
override this.Skip : unit -> unit
Public Overridable Sub Skip ()

例外

先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。An XmlReader method was called before a previous asynchronous operation finished. この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

次の例では、2番目の book ノードから開始して XML ファイルを解析します。The following example parses an XML file starting on the second book node.

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

この例では、ファイルを 2books.xml 入力として使用します。The example uses the file, 2books.xml, as 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>

注釈

次の XML 入力では、リーダーがノードまたはその属性に配置されている場合 <a> 、を呼び出すと、 Skip リーダーがノードに配置され <b> ます。In the following XML input if the reader is positioned on the <a> node or any of its attributes, calling Skip positions the reader to the <b> node.

リーダーが既にリーフノード (ノードやテキストノードなど) に配置されている場合、を呼び出すこと <x> abc Skip はと同じです ReadIf the reader is positioned on a leaf node already (such as the <x> node or the text node abc), calling Skip is the same as calling Read.

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

このメソッドは、整形式の XML を確認します。This method checks for well-formed XML.

リーダーがの場合 XmlValidatingReader 、このメソッドはスキップされたコンテンツも検証します。If the reader is an XmlValidatingReader, this method also validates the skipped content.

実装は、 XmlReader メソッドが外部エンティティを展開するかどうかを決定し Skip ます。The XmlReader implementation determines whether or not the Skip method will expand external entities. 次の表は、さまざまな種類のオブジェクトに対して外部エンティティが展開されているかどうかを示して XmlReader います。The following table describes whether the external entities are expanded for the various types of XmlReader objects.

XmlReader の種類Type of XmlReader 外部エンティティを展開するExpands external entities
XmlTextReader いいえ。No.
XmlReader テキストデータを読み取るメソッドによって作成されたインスタンス CreateXmlReader instance created by the Create method that is reading text data. いいえ。No.
XmlReaderCreateバイナリデータを読み取っているメソッドによって作成されたインスタンス。XmlReader instance created by the Create method that is reading binary data. 適用不可。Not applicable.
XmlReaderメソッドによって作成されたスキーマ検証インスタンス CreateA schema validating XmlReader instance created by the Create method. はい。Yes.
XmlValidatingReader はい。Yes.
XmlReader オブジェクトによって返されるインスタンス XPathNavigatorXmlReader instance returned by a XPathNavigator object. 適用不可。Not applicable.
XmlNodeReader いいえ。No.
XmlReader インスタンスは、別の XmlReader インスタンスをラップします。XmlReader instance wrapped around another XmlReader instance. は、基になるの実装に依存し XmlReader ます。Depends on the implementation of the underlying XmlReader. ( Skip 基になるのメソッド XmlReader が呼び出されます)。(The Skip method on the underlying XmlReader is called).

このメソッドの非同期バージョンについては、「」を参照してください SkipAsyncFor the asynchronous version of this method, see SkipAsync.

適用対象