XmlReader 클래스

정의

빠르고, 캐시되지 않으며 앞으로만 이동 가능한 XML 데이터 액세스를 제공하는 판독기를 나타냅니다.

public ref class XmlReader abstract : IDisposable
public ref class XmlReader abstract
public abstract class XmlReader : IDisposable
public abstract class XmlReader
type XmlReader = class
    interface IDisposable
type XmlReader = class
Public MustInherit Class XmlReader
Implements IDisposable
Public MustInherit Class XmlReader
상속
XmlReader
파생
구현

예제

다음 예제 코드에서는 비동기 API를 사용하여 XML을 구문 분석하는 방법을 보여 줍니다.

async Task TestReader(System.IO.Stream stream)
{
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.Async = true;

    using (XmlReader reader = XmlReader.Create(stream, settings))
    {
        while (await reader.ReadAsync())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    Console.WriteLine("Start Element {0}", reader.Name);
                    break;
                case XmlNodeType.Text:
                    Console.WriteLine("Text Node: {0}",
                             await reader.GetValueAsync());
                    break;
                case XmlNodeType.EndElement:
                    Console.WriteLine("End Element {0}", reader.Name);
                    break;
                default:
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value);
                    break;
            }
        }
    }
}
Public Async Function TestReader(stream As System.IO.Stream) As Task
    Dim settings As New XmlReaderSettings()
    settings.Async = True

    Using reader As XmlReader = XmlReader.Create(stream, settings)
        While (Await reader.ReadAsync())
            Select Case (reader.NodeType)
                Case XmlNodeType.Element
                    Console.WriteLine("Start Element {0}", reader.Name)
                Case XmlNodeType.Text
                    Console.WriteLine("Text Node: {0}",
                             Await reader.GetValueAsync())
                Case XmlNodeType.EndElement
                    Console.WriteLine("End Element {0}", reader.Name)
                Case Else
                    Console.WriteLine("Other node {0} with value {1}",
                                    reader.NodeType, reader.Value)
            End Select
        End While
    End Using
End Function

설명

이 API에 대한 자세한 내용은 XmlReader에 대한 추가 API 설명을 참조하세요.

생성자

XmlReader()

XmlReader 클래스의 새 인스턴스를 초기화합니다.

속성

AttributeCount

파생 클래스에서 재정의되면 현재 노드에 포함된 특성 수를 가져옵니다.

BaseURI

파생 클래스에서 재정의되면 현재 노드의 기본 URI를 가져옵니다.

CanReadBinaryContent

XmlReader가 이진 콘텐츠 읽기 메서드를 구현하는지를 나타내는 값을 가져옵니다.

CanReadValueChunk

XmlReaderReadValueChunk(Char[], Int32, Int32) 메서드를 구현하는지를 나타내는 값을 가져옵니다.

CanResolveEntity

이 판독기가 엔터티를 구문 분석하고 확인할 수 있는지를 나타내는 값을 가져옵니다.

Depth

파생 클래스에서 재정의되면 XML 문서에서 현재 노드의 수준을 가져옵니다.

EOF

파생 클래스에서 재정의되면 판독기가 스트림의 끝에 배치되었는지 여부를 나타내는 값을 가져옵니다.

HasAttributes

현재 노드에 특성이 있는지를 나타내는 값을 얻습니다.

HasValue

파생 클래스에서 재정의되면 현재 노드에 Value가 있는지 여부를 나타내는 값을 가져옵니다.

IsDefault

파생 클래스에서 재정의되면 현재 노드가 DTD나 스키마에서 정의한 기본값에서 생성된 값을 가진 특성인지 여부를 나타내는 값을 가져옵니다.

IsEmptyElement

파생 클래스에서 재정의되는 경우 현재 노드가 빈 요소인지 여부를 나타내는 값을 가져옵니다(예: <MyElement/>).

Item[Int32]

파생 클래스에서 재정의되면 지정된 인덱스가 있는 특성의 값을 가져옵니다.

Item[String, String]

파생 클래스에서 재정의되면 지정된 LocalNameNamespaceURI가 있는 특성의 값을 가져옵니다.

Item[String]

파생 클래스에서 재정의되면 지정된 Name이 있는 특성의 값을 가져옵니다.

LocalName

파생 클래스에서 재정의되면 현재 노드의 로컬 이름을 가져옵니다.

Name

파생 클래스에서 재정의되면 현재 노드의 정규화된 이름을 가져옵니다.

NamespaceURI

파생 클래스에서 재정의되면 판독기가 배치된 노드의 네임스페이스 URI를 W3C Namespace 사양에 정의된 대로 가져옵니다.

NameTable

파생 클래스에서 재정의되면 이 구현과 관련된 XmlNameTable을 가져옵니다.

NodeType

파생 클래스에서 재정의되면 현재 노드의 형식을 가져옵니다.

Prefix

파생 클래스에서 재정의되면 현재 노드와 관련된 네임스페이스 접두사를 가져옵니다.

QuoteChar

파생 클래스에서 재정의되면 Attribute 노드의 값을 묶는 데 사용되는 따옴표 문자를 가져옵니다.

ReadState

파생 클래스에서 재정의되면 판독기의 상태를 가져옵니다.

SchemaInfo

스키마 유효성 검사의 결과로 현재 노드에 할당된 스키마 정보를 가져옵니다.

Settings

XmlReader 인스턴스를 만드는 데 사용되는 XmlReaderSettings 개체를 가져옵니다.

Value

파생 클래스에서 재정의되면 현재 노드의 텍스트 값을 가져옵니다.

ValueType

현재 노드의 CLR(공용 언어 런타임) 형식을 가져옵니다.

XmlLang

파생 클래스에서 재정의되면 현재 xml:lang 범위를 가져옵니다.

XmlSpace

파생 클래스에서 재정의되면 현재 xml:space 범위를 가져옵니다.

메서드

Close()

파생 클래스에서 재정의되면 ReadStateClosed로 변경합니다.

Create(Stream)

기본 설정의 지정된 스트림을 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(Stream, XmlReaderSettings)

지정된 스트림 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(Stream, XmlReaderSettings, String)

지정된 스트림, 기본 URI 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(Stream, XmlReaderSettings, XmlParserContext)

구문 분석을 위해 지정한 스트림, 설정 및 컨텍스트 정보를 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(String)

지정된 URI를 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(String, XmlReaderSettings)

지정된 URI 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(String, XmlReaderSettings, XmlParserContext)

지정된 URI, 설정 및 컨텍스트 정보를 구문 분석에 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(TextReader)

지정된 텍스트 판독기를 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(TextReader, XmlReaderSettings)

지정된 텍스트 판독기 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(TextReader, XmlReaderSettings, String)

지정된 텍스트 판독기, 설정 및 기본 URI를 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(TextReader, XmlReaderSettings, XmlParserContext)

지정된 텍스트 판독기, 설정 및 컨텍스트 정보를 구문 분석에 사용하여 새 XmlReader 인스턴스를 만듭니다.

Create(XmlReader, XmlReaderSettings)

지정된 XML 판독기 및 설정을 사용하여 새 XmlReader 인스턴스를 만듭니다.

Dispose()

XmlReader 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제합니다.

Dispose(Boolean)

XmlReader에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetAttribute(Int32)

파생 클래스에서 재정의되면 지정된 인덱스가 있는 특성의 값을 가져옵니다.

GetAttribute(String)

파생 클래스에서 재정의되면 지정된 Name이 있는 특성의 값을 가져옵니다.

GetAttribute(String, String)

파생 클래스에서 재정의되면 지정된 LocalNameNamespaceURI가 있는 특성의 값을 가져옵니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetValueAsync()

현재 노드의 값을 비동기적으로 가져옵니다.

IsName(String)

문자열 인수가 유효한 XML 이름인지 여부를 나타내는 값을 반환합니다.

IsNameToken(String)

문자열 인수가 유효한 XML 이름 토큰인지 여부를 나타내는 값을 반환합니다.

IsStartElement()

MoveToContent()를 호출하고 현재 콘텐츠 노드가 시작 태그 또는 빈 요소 태그인지 테스트합니다.

IsStartElement(String)

MoveToContent()를 호출하고 현재 콘텐츠 노드가 시작 태그 또는 빈 요소 태그인지 여부와 찾은 요소의 Name 속성이 지정된 인수와 일치하는지 여부를 테스트합니다.

IsStartElement(String, String)

MoveToContent()를 호출하고 현재 콘텐츠 노드가 시작 태그 또는 빈 요소 태그인지 여부와 찾은 요소의 LocalNameNamespaceURI 속성이 지정된 인수와 일치하는지 여부를 테스트합니다.

LookupNamespace(String)

파생 클래스에서 재정의되면 현재 요소의 범위에서 네임스페이스 접두사를 확인합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MoveToAttribute(Int32)

파생 클래스에서 재정의되면 지정된 인덱스가 있는 특성으로 이동합니다.

MoveToAttribute(String)

파생 클래스에서 재정의되면 지정된 Name이 있는 특성으로 이동합니다.

MoveToAttribute(String, String)

파생 클래스에서 재정의되면 지정된 LocalNameNamespaceURI가 있는 특성으로 이동합니다.

MoveToContent()

현재 노드가 콘텐츠 노드(공백 없는 텍스트, CDATA, Element, EndElement, EntityReference 또는 EndEntity)인지 여부를 확인합니다. 해당 노드가 콘텐츠 노드가 아니면 판독기는 다음 콘텐츠 노드나 파일의 끝으로 건너뜁니다. 판독기는 ProcessingInstruction, DocumentType, Comment, Whitespace 또는 SignificantWhitespace 같은 형식의 노드를 건너뜁니다.

MoveToContentAsync()

현재 노드가 콘텐츠 노드인지를 비동기적으로 확인합니다. 해당 노드가 콘텐츠 노드가 아니면 판독기는 다음 콘텐츠 노드나 파일의 끝으로 건너뜁니다.

MoveToElement()

파생 클래스에서 재정의되면 현재 Attribute 노드를 포함하는 요소로 이동합니다.

MoveToFirstAttribute()

파생 클래스에서 재정의되면 첫 번째 특성으로 이동합니다.

MoveToNextAttribute()

파생 클래스에서 재정의되면 다음 특성으로 이동합니다.

Read()

파생 클래스에서 재정의되면 스트림에서 다음 노드를 읽습니다.

ReadAsync()

스트림에서 다음 노드를 비동기적으로 읽습니다.

ReadAttributeValue()

파생 클래스에서 재정의되면 하나 이상의 Text, EntityReference 또는 EndEntity 노드로 특성 값을 구문 분석합니다.

ReadContentAs(Type, IXmlNamespaceResolver)

지정한 형식의 개체로 콘텐츠를 읽습니다.

ReadContentAsAsync(Type, IXmlNamespaceResolver)

지정한 형식의 개체로 콘텐츠를 비동기적으로 읽습니다.

ReadContentAsBase64(Byte[], Int32, Int32)

콘텐츠를 읽고 Base64 디코딩된 이진 바이트를 반환합니다.

ReadContentAsBase64Async(Byte[], Int32, Int32)

콘텐츠를 비동기적으로 읽고 Base64 디코딩된 이진 바이트를 반환합니다.

ReadContentAsBinHex(Byte[], Int32, Int32)

콘텐츠를 읽고 BinHex 디코딩된 이진 바이트를 반환합니다.

ReadContentAsBinHexAsync(Byte[], Int32, Int32)

콘텐츠를 비동기적으로 읽고 BinHex 디코딩된 이진 바이트를 반환합니다.

ReadContentAsBoolean()

현재 위치의 텍스트 콘텐츠를 Boolean으로 읽습니다.

ReadContentAsDateTime()

현재 위치의 텍스트 콘텐츠를 DateTime 개체로 읽습니다.

ReadContentAsDateTimeOffset()

현재 위치의 텍스트 콘텐츠를 DateTimeOffset 개체로 읽습니다.

ReadContentAsDecimal()

현재 위치의 텍스트 콘텐츠를 Decimal 개체로 읽습니다.

ReadContentAsDouble()

현재 위치의 텍스트 콘텐츠를 배정밀도 부동 소수점 숫자로 읽습니다.

ReadContentAsFloat()

현재 위치의 텍스트 콘텐츠를 단정밀도 부동 소수점 숫자로 읽습니다.

ReadContentAsInt()

현재 위치의 텍스트 콘텐츠를 부호 있는 32비트 정수로 읽습니다.

ReadContentAsLong()

현재 위치의 텍스트 콘텐츠를 부호 있는 64비트 정수로 읽습니다.

ReadContentAsObject()

현재 위치의 텍스트 콘텐츠를 Object로 읽습니다.

ReadContentAsObjectAsync()

현재 위치의 텍스트 콘텐츠를 Object로 비동기적으로 읽습니다.

ReadContentAsString()

현재 위치의 텍스트 콘텐츠를 String 개체로 읽습니다.

ReadContentAsStringAsync()

현재 위치의 텍스트 콘텐츠를 String 개체로 읽습니다.

ReadElementContentAs(Type, IXmlNamespaceResolver)

요소 콘텐츠를 요청된 형식으로 읽습니다.

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 요소 콘텐츠를 요청된 형식으로 읽습니다.

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

요소 콘텐츠를 요청된 형식으로 비동기적으로 읽습니다.

ReadElementContentAsBase64(Byte[], Int32, Int32)

요소를 읽고 Base64 콘텐츠를 디코딩합니다.

ReadElementContentAsBase64Async(Byte[], Int32, Int32)

요소를 비동기적으로 읽고 Base64 콘텐츠를 디코딩합니다.

ReadElementContentAsBinHex(Byte[], Int32, Int32)

요소를 읽고 BinHex 콘텐츠를 디코딩합니다.

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

요소를 비동기적으로 읽고 BinHex 콘텐츠를 디코딩합니다.

ReadElementContentAsBoolean()

현재 요소를 읽고 콘텐츠를 Boolean 개체로 반환합니다.

ReadElementContentAsBoolean(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 Boolean 개체로 반환합니다.

ReadElementContentAsDateTime()

현재 요소를 읽고 콘텐츠를 DateTime 개체로 반환합니다.

ReadElementContentAsDateTime(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 DateTime 개체로 반환합니다.

ReadElementContentAsDecimal()

현재 요소를 읽고 콘텐츠를 Decimal 개체로 반환합니다.

ReadElementContentAsDecimal(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 Decimal 개체로 반환합니다.

ReadElementContentAsDouble()

현재 요소를 읽고 콘텐츠를 배정밀도 부동 소수점 숫자로 반환합니다.

ReadElementContentAsDouble(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 배정밀도 부동 소수점 숫자로 반환합니다.

ReadElementContentAsFloat()

현재 요소를 읽고 콘텐츠를 단정밀도 부동 소수점 숫자로 반환합니다.

ReadElementContentAsFloat(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 단정밀도 부동 소수점 숫자로 반환합니다.

ReadElementContentAsInt()

현재 요소를 읽고 부호 있는 32비트 정수로 콘텐츠를 반환합니다.

ReadElementContentAsInt(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 부호 있는 32비트 정수로 반환합니다.

ReadElementContentAsLong()

현재 요소를 읽고 부호 있는 64비트 정수로 콘텐츠를 반환합니다.

ReadElementContentAsLong(String, String)

지정된 로컬 이름 및 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음, 현재 요소를 읽고 콘텐츠를 부호 있는 64비트 정수로 반환합니다.

ReadElementContentAsObject()

현재 요소를 읽고 콘텐츠를 Object로 반환합니다.

ReadElementContentAsObject(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 Object로 반환합니다.

ReadElementContentAsObjectAsync()

현재 요소를 비동기적으로 읽고 콘텐츠를 Object로 반환합니다.

ReadElementContentAsString()

현재 요소를 읽고 콘텐츠를 String 개체로 반환합니다.

ReadElementContentAsString(String, String)

지정된 로컬 이름과 네임스페이스 URI가 현재 요소의 로컬 이름 및 네임스페이스 URI와 일치하는지 확인한 다음 현재 요소를 읽고 콘텐츠를 String 개체로 반환합니다.

ReadElementContentAsStringAsync()

현재 요소를 비동기적으로 읽고 콘텐츠를 String 개체로 반환합니다.

ReadElementString()

텍스트 전용 요소를 읽습니다. 그러나 이 연산을 더 간단하게 처리하는 방법을 제공하는 ReadElementContentAsString() 메서드를 대신 사용하는 것이 좋습니다.

ReadElementString(String)

텍스트 전용 요소를 읽기 전에 찾은 요소의 Name 속성이 지정된 문자열과 일치하는지 확인합니다. 그러나 이 연산을 더 간단하게 처리하는 방법을 제공하는 ReadElementContentAsString() 메서드를 대신 사용하는 것이 좋습니다.

ReadElementString(String, String)

텍스트 전용 요소를 읽기 전에 찾은 요소의 LocalNameNamespaceURI 속성이 지정된 문자열과 일치하는지 확인합니다. 그러나 이 연산을 더 간단하게 처리하는 방법을 제공하는 ReadElementContentAsString(String, String) 메서드를 대신 사용하는 것이 좋습니다.

ReadEndElement()

현재 콘텐츠 노드가 끝 태그인지 확인하고 판독기를 다음 노드로 이동합니다.

ReadInnerXml()

파생 클래스에서 재정의되면 태그를 포함한 모든 콘텐츠를 문자열로 읽습니다.

ReadInnerXmlAsync()

태그를 포함한 모든 콘텐츠를 문자열로 비동기적으로 읽습니다.

ReadOuterXml()

파생 클래스에서 재정의되면 태그를 포함하여 이 노드 및 모든 자식 노드를 나타내는 콘텐츠를 읽습니다.

ReadOuterXmlAsync()

이 노드 및 이 노드의 모든 자식을 나타내는 태그를 포함한 콘텐츠를 비동기적으로 읽습니다.

ReadStartElement()

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

ReadStartElement(String)

현재 콘텐츠 노드가 지정된 Name을 가진 요소인지 확인하고 판독기를 다음 노드로 이동합니다.

ReadStartElement(String, String)

현재 콘텐츠 노드가 지정된 LocalNameNamespaceURI가 있는 요소인지 확인하고 판독기를 다음 노드로 이동합니다.

ReadString()

파생 클래스에서 재정의되면 요소 또는 text 노드의 내용을 문자열로 읽습니다. 그러나 이 연산을 더 간단하게 처리하는 방법을 제공하는 ReadElementContentAsString 메서드를 대신 사용하는 것이 좋습니다.

ReadSubtree()

현재 노드와 해당 하위 노드 전체를 읽는 데 사용되는 새 XmlReader 인스턴스를 반환합니다.

ReadToDescendant(String)

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

ReadToDescendant(String, String)

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

ReadToFollowing(String)

지정된 정규화된 이름의 요소를 찾을 때까지 읽습니다.

ReadToFollowing(String, String)

지정된 로컬 이름 및 네임스페이스 URI를 사용하는 요소를 찾을 때까지 읽습니다.

ReadToNextSibling(String)

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

ReadToNextSibling(String, String)

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

ReadValueChunk(Char[], Int32, Int32)

XML 문서에 포함된 큰 텍스트 스트림을 읽습니다.

ReadValueChunkAsync(Char[], Int32, Int32)

XML 문서에 포함된 큰 텍스트 스트림을 비동기적으로 읽습니다.

ResolveEntity()

파생 클래스에서 재정의되면 EntityReference 노드에 대한 엔터티 참조를 확인합니다.

Skip()

현재 노드의 자식을 건너뜁니다.

SkipAsync()

현재 노드의 자식을 비동기적으로 건너뜁니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IDisposable.Dispose()

이 멤버에 대한 설명은 Dispose()를 참조하세요.

적용 대상

추가 정보