XmlReader.Skip XmlReader.Skip XmlReader.Skip XmlReader.Skip Method

定義

現在のノードの子をスキップします。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>ノードまたはその属性に配置されている場合、を呼び出す<b> Skipと、リーダーがノードに配置されます。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を呼び出すことはとRead同じです。If 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テキストデータを読み取るCreateメソッドによって作成されたインスタンス。XmlReader instance created by the Create method that is reading text data. いいえ。No.
XmlReaderバイナリデータを読みCreate取っているメソッドによって作成されたインスタンス。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.
XmlReaderXPathNavigatorオブジェクトによって返されるインスタンス。XmlReader 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. (基になるXmlReaderのメソッドが呼び出されます)。Skip(The Skip method on the underlying XmlReader is called).

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

適用対象