다음을 통해 공유


요소 읽기

업데이트: November 2007

다음 표에서는 요소를 처리하기 위해 XmlReader 클래스가 제공하는 메서드와 속성에 대해 설명합니다. XmlReader가 요소에 있는 경우 Name과 같은 노드 속성은 이 요소의 값을 반영합니다. 아래 설명된 멤버 외에도 XmlReader 클래스의 일반 메서드 및 속성을 사용하여 요소를 처리할 수 있습니다. 예를 들어, ReadInnerXml 메서드를 사용하여 요소 내용을 읽을 수 있습니다.

참고:

이러한 메서드에는 MoveToContent 메서드에 대한 초기 호출이 포함됩니다.

멤버 이름

설명

IsStartElement

현재 노드가 시작 태그인지 또는 빈 요소 태그인지 확인합니다.

ReadStartElement

현재 노드가 요소인지 확인하고 판독기를 다음 노드로 진행합니다.

ReadEndElement

현재 노드가 끝 태그인지 확인하고 판독기를 다음 노드로 진행합니다.

ReadElementString

텍스트 전용 요소를 읽습니다.

ReadToDescendant

XmlReader를 지정된 이름의 다음 하위 요소로 진행합니다.

ReadToNextSibling

XmlReader를 지정된 이름의 다음 형제 요소로 진행합니다.

IsEmptyElement

현재 요소에 빈 요소 태그가 있는지 확인합니다. 이 속성을 사용하여 다음 간의 차이를 확인할 수 있습니다.

즉, IsEmptyElement는 소스 문서의 요소에 끝 요소 태그가 있는지 여부를 보고합니다.

예제

다음 코드는 ReadStartElementReadString 메서드를 사용하여 요소를 읽습니다.

Using reader As XmlReader = XmlReader.Create("book3.xml")               
  ' Parse the XML document.  ReadString is used to 
  ' read the text content of the elements.
  reader.Read()
  reader.ReadStartElement("book")
  reader.ReadStartElement("title")
  Console.Write("The content of the title element:  ")
  Console.WriteLine(reader.ReadString())
  reader.ReadEndElement()
  reader.ReadStartElement("price")
  Console.Write("The content of the price element:  ")
  Console.WriteLine(reader.ReadString())
  reader.ReadEndElement()
  reader.ReadEndElement()            
End Using
using (XmlReader reader = XmlReader.Create("book3.xml")) {

  // Parse the XML document.  ReadString is used to 
  // read the text content of the elements.
  reader.Read(); 
  reader.ReadStartElement("book");  
  reader.ReadStartElement("title");   
  Console.Write("The content of the title element:  ");
  Console.WriteLine(reader.ReadString());
  reader.ReadEndElement();
  reader.ReadStartElement("price");
  Console.Write("The content of the price element:  ");
  Console.WriteLine(reader.ReadString());
  reader.ReadEndElement();
  reader.ReadEndElement();

}

다음 코드는 While 루프를 사용하여 요소를 처리합니다.

While reader.Read()
  If reader.IsStartElement() Then
    If reader.IsEmptyElement Then
      Console.WriteLine("<{0}/>", reader.Name)
    Else
      Console.Write("<{0}> ", reader.Name)
      reader.Read() ' Read the start tag.
      If reader.IsStartElement() Then ' Handle nested elements.
        Console.Write(vbCr + vbLf + "<{0}>", reader.Name)
      End If
      Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
    End If
  End If
End While
while (reader.Read()) {
  if (reader.IsStartElement()) {
    if (reader.IsEmptyElement)
      Console.WriteLine("<{0}/>", reader.Name);
    else {
      Console.Write("<{0}> ", reader.Name);
      reader.Read(); // Read the start tag.
      if (reader.IsStartElement())  // Handle nested elements.
        Console.Write("\r\n<{0}>", reader.Name);
      Console.WriteLine(reader.ReadString());  //Read the text content of the element.
    }
  } 
} 

참고 항목

개념

XmlReader로 XML 읽기