XmlReader.Skip Method

Definition

현재 노드의 자식을 건너뜁니다.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 ()

Exceptions

이전 비동기 작업이 완료되기 전에 XmlReader 메서드가 호출되었습니다.An XmlReader method was called before a previous asynchronous operation finished. 이 경우 “비동기 작업이 이미 진행 중입니다.” 메시지를 나타내며 InvalidOperationException이 throw됩니다.In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Examples

다음 예제에서는 두 번째 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>

Remarks

다음 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.No.
텍스트 데이터를 읽는 Create 메서드에서 만든 XmlReader 인스턴스입니다.XmlReader instance created by the Create method that is reading text data. No.No.
이진 데이터를 읽는 Create 메서드에서 만든 XmlReader 인스턴스입니다.XmlReader instance created by the Create method that is reading binary data. 적용할 수 없음Not applicable.
Create 메서드에서 만든 XmlReader 인스턴스의 유효성을 검사 하는 스키마입니다.A schema validating XmlReader instance created by the Create method. 예.Yes.
XmlValidatingReader 예.Yes.
XPathNavigator 개체에서 반환 된 XmlReader 인스턴스입니다.XmlReader instance returned by a XPathNavigator object. 적용할 수 없음Not applicable.
XmlNodeReader No.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.

Applies to