XmlReader.ReadToDescendant 메서드

정의

일치하는 다음 하위 요소로 XmlReader를 이동합니다.

오버로드

ReadToDescendant(String, String)

지정된 로컬 이름과 네임스페이스 URI를 사용하는 다음 하위 요소로 XmlReader를 이동합니다.

ReadToDescendant(String)

지정된 정규화 이름을 사용하는 다음 하위 요소로 XmlReader를 이동합니다.

ReadToDescendant(String, String)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

지정된 로컬 이름과 네임스페이스 URI를 사용하는 다음 하위 요소로 XmlReader를 이동합니다.

public:
 virtual bool ReadToDescendant(System::String ^ localName, System::String ^ namespaceURI);
public virtual bool ReadToDescendant (string localName, string namespaceURI);
abstract member ReadToDescendant : string * string -> bool
override this.ReadToDescendant : string * string -> bool
Public Overridable Function ReadToDescendant (localName As String, namespaceURI As String) As Boolean

매개 변수

localName
String

판독기를 이동할 요소의 로컬 이름입니다.

namespaceURI
String

판독기를 이동할 하위 요소의 네임스페이스 URI입니다.

반환

일치하는 하위 요소가 있으면 true이고, 그렇지 않으면 false입니다. 일치하는 하위 요소를 찾을 XmlReader 수 없는 경우 는 요소의 끝 태그(가NodeType )에 배치됩니다 XmlNodeType.EndElement.

XmlReader를 호출했을 때 ReadToDescendant(String, String)가 요소에 배치되어 있지 않으면 이 메서드가 false를 반환하고 XmlReader의 위치는 변경되지 않습니다.

예외

이전 비동기 작업이 완료되기 전에 XmlReader 메서드가 호출되었습니다. 이 경우 “비동기 작업이 이미 진행 중입니다.” 메시지를 나타내며 InvalidOperationException이 throw됩니다.

두 매개 변수 값이 모두 null인 경우

적용 대상

ReadToDescendant(String)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

지정된 정규화 이름을 사용하는 다음 하위 요소로 XmlReader를 이동합니다.

public:
 virtual bool ReadToDescendant(System::String ^ name);
public virtual bool ReadToDescendant (string name);
abstract member ReadToDescendant : string -> bool
override this.ReadToDescendant : string -> bool
Public Overridable Function ReadToDescendant (name As String) As Boolean

매개 변수

name
String

판독기를 이동할 요소의 정규화된 이름입니다.

반환

일치하는 하위 요소가 있으면 true이고, 그렇지 않으면 false입니다. 일치하는 하위 요소를 찾을 XmlReader 수 없는 경우 는 요소의 끝 태그(가NodeType )에 배치됩니다 XmlNodeType.EndElement.

XmlReader를 호출했을 때 ReadToDescendant(String)가 요소에 배치되어 있지 않으면 이 메서드가 false를 반환하고 XmlReader의 위치는 변경되지 않습니다.

예외

이전 비동기 작업이 완료되기 전에 XmlReader 메서드가 호출되었습니다. 이 경우 “비동기 작업이 이미 진행 중입니다.” 메시지를 나타내며 InvalidOperationException이 throw됩니다.

매개 변수가 빈 문자열인 경우

예제

다음 예제에서는 두 번째 책 노드를 구문 분석합니다.

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입력으로 사용합니다.

<!--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>

적용 대상