요소 읽기
업데이트: November 2007
다음 표에서는 요소를 처리하기 위해 XmlReader 클래스가 제공하는 메서드와 속성에 대해 설명합니다. XmlReader가 요소에 있는 경우 Name과 같은 노드 속성은 이 요소의 값을 반영합니다. 아래 설명된 멤버 외에도 XmlReader 클래스의 일반 메서드 및 속성을 사용하여 요소를 처리할 수 있습니다. 예를 들어, ReadInnerXml 메서드를 사용하여 요소 내용을 읽을 수 있습니다.
참고: |
---|
이러한 메서드에는 MoveToContent 메서드에 대한 초기 호출이 포함됩니다. |
멤버 이름 |
설명 |
---|---|
현재 노드가 시작 태그인지 또는 빈 요소 태그인지 확인합니다. |
|
현재 노드가 요소인지 확인하고 판독기를 다음 노드로 진행합니다. |
|
현재 노드가 끝 태그인지 확인하고 판독기를 다음 노드로 진행합니다. |
|
텍스트 전용 요소를 읽습니다. |
|
XmlReader를 지정된 이름의 다음 하위 요소로 진행합니다. |
|
XmlReader를 지정된 이름의 다음 형제 요소로 진행합니다. |
|
현재 요소에 빈 요소 태그가 있는지 확인합니다. 이 속성을 사용하여 다음 간의 차이를 확인할 수 있습니다.
즉, IsEmptyElement는 소스 문서의 요소에 끝 요소 태그가 있는지 여부를 보고합니다. |
예제
다음 코드는 ReadStartElement 및 ReadString 메서드를 사용하여 요소를 읽습니다.
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.
}
}
}