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 비고를 참조하세요.

생성자

Name Description
XmlReader()

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

속성

Name Description
AttributeCount

파생 클래스에서 재정의되는 경우 현재 노드의 특성 수를 가져옵니다.

BaseURI

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

CanReadBinaryContent

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

CanReadValueChunk

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

CanResolveEntity

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

Depth

파생 클래스에서 재정의되는 경우 XML 문서에서 현재 노드의 깊이를 가져옵니다.

EOF

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

HasAttributes

현재 노드에 특성이 있는지 여부를 나타내는 값을 가져옵니다.

HasValue

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

IsDefault

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

IsEmptyElement

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

Item[Int32]

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

Item[String, String]

파생 클래스에서 재정의되는 경우 지정된 LocalName 특성과 NamespaceURI.

Item[String]

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

LocalName

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

Name

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

NamespaceURI

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

NameTable

파생 클래스에서 재정의되는 경우 이 구현과 연결된 값을 가져옵니다 XmlNameTable .

NodeType

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

Prefix

파생 클래스에서 재정의되는 경우 현재 노드와 연결된 네임스페이스 접두사를 가져옵니다.

QuoteChar

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

ReadState

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

SchemaInfo

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

Settings

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

Value

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

ValueType

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

XmlLang

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

XmlSpace

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

메서드

Name Description
Close()

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

Create(Stream, XmlReaderSettings, String)

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

Create(Stream, XmlReaderSettings, XmlParserContext)

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

Create(Stream, XmlReaderSettings)

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

Create(Stream)

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

Create(String, XmlReaderSettings, XmlParserContext)

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

Create(String, XmlReaderSettings)

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

Create(String)

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

Create(TextReader, XmlReaderSettings, String)

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

Create(TextReader, XmlReaderSettings, XmlParserContext)

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

Create(TextReader, XmlReaderSettings)

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

Create(TextReader)

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

Create(XmlReader, XmlReaderSettings)

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

Dispose()

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

Dispose(Boolean)

관리되지 않는 리소스를 XmlReader 해제하고 관리되는 리소스를 선택적으로 해제합니다.

Equals(Object)

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

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

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

GetAttribute(String, String)

파생 클래스에서 재정의되는 경우 지정된 LocalName 특성과 NamespaceURI.

GetAttribute(String)

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

GetHashCode()

기본 해시 함수로 사용됩니다.

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

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

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

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

IsName(String)

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

IsNameToken(String)

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

IsStartElement()

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

IsStartElement(String, String)

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

IsStartElement(String)

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

LookupNamespace(String)

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

MemberwiseClone()

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

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

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

MoveToAttribute(String, String)

파생 클래스에서 재정의되는 경우 지정된 LocalName 특성과 NamespaceURI.

MoveToAttribute(String)

파생 클래스에서 재정의된 경우 지정된 Name특성을 사용하여 특성으로 이동합니다.

MoveToContent()

현재 노드가 콘텐츠(공백이 아닌 텍스트, CDATA, , ElementEndElementEntityReference또는 EndEntity) 노드인지 확인합니다. 노드가 콘텐츠 노드가 아닌 경우 판독기는 다음 콘텐츠 노드 또는 파일 끝으로 건너뜁니다. 다음 형식ProcessingInstructionDocumentTypeCommentWhitespaceSignificantWhitespace의 노드를 건너뜁니다.

MoveToContentAsync()

현재 노드가 콘텐츠 노드인지 여부를 비동기적으로 확인합니다. 노드가 콘텐츠 노드가 아닌 경우 판독기는 다음 콘텐츠 노드 또는 파일 끝으로 건너뜁니다.

MoveToElement()

파생 클래스에서 재정의되는 경우 현재 특성 노드가 포함된 요소로 이동합니다.

MoveToFirstAttribute()

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

MoveToNextAttribute()

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

Read()

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

ReadAsync()

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

ReadAttributeValue()

파생 클래스에서 재정의되는 경우 특성 값을 하나 이상의 TextEntityReference노드 또는 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, String, String)

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

ReadElementContentAs(Type, IXmlNamespaceResolver)

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

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가 현재 요소의 이름과 일치하는지 확인한 다음, 현재 요소를 읽고 내용을 개체로 Boolean 반환합니다.

ReadElementContentAsDateTime()

현재 요소를 읽고 내용을 개체로 DateTime 반환합니다.

ReadElementContentAsDateTime(String, String)

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

ReadElementContentAsDecimal()

현재 요소를 읽고 내용을 개체로 Decimal 반환합니다.

ReadElementContentAsDecimal(String, String)

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

ReadElementContentAsDouble()

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

ReadElementContentAsDouble(String, String)

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

ReadElementContentAsFloat()

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

ReadElementContentAsFloat(String, String)

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

ReadElementContentAsInt()

현재 요소를 읽고 내용을 32비트 부가 정수로 반환합니다.

ReadElementContentAsInt(String, String)

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

ReadElementContentAsLong()

현재 요소를 읽고 내용을 64비트 부가 정수로 반환합니다.

ReadElementContentAsLong(String, String)

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

ReadElementContentAsObject()

현재 요소를 읽고 내용을 />로 반환합니다.

ReadElementContentAsObject(String, String)

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

ReadElementContentAsObjectAsync()

현재 요소를 비동기적으로 읽고 내용을 />로 반환합니다.

ReadElementContentAsString()

현재 요소를 읽고 내용을 개체로 String 반환합니다.

ReadElementContentAsString(String, String)

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

ReadElementContentAsStringAsync()

현재 요소를 비동기적으로 읽고 내용을 개체로 String 반환합니다.

ReadElementString()

텍스트 전용 요소를 읽습니다. 그러나 이 작업을 처리하는 보다 간단한 방법을 제공하므로 대신 이 메서드를 사용하는 ReadElementContentAsString() 것이 좋습니다.

ReadElementString(String, String)

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

ReadElementString(String)

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

ReadEndElement()

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

ReadInnerXml()

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

ReadInnerXmlAsync()

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

ReadOuterXml()

파생 클래스에서 재정의되는 경우 이 노드와 모든 자식을 나타내는 태그를 포함한 콘텐츠를 읽습니다.

ReadOuterXmlAsync()

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

ReadStartElement()

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

ReadStartElement(String, String)

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

ReadStartElement(String)

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

ReadString()

파생 클래스에서 재정의되는 경우 요소 또는 텍스트 노드의 내용을 문자열로 읽습니다. 그러나 이 작업을 처리하는 보다 간단한 방법을 제공하므로 대신 이 메서드를 사용하는 ReadElementContentAsString 것이 좋습니다.

ReadSubtree()

현재 노드 및 모든 하위 항목을 읽는 데 사용할 수 있는 새 XmlReader 인스턴스를 반환합니다.

ReadToDescendant(String, String)

지정된 로컬 이름 및 네임스페이 XmlReader 스 URI를 사용하여 다음 하위 요소로 진행합니다.

ReadToDescendant(String)

XmlReader 지정된 정규화된 이름을 사용하여 다음 하위 요소로 진행합니다.

ReadToFollowing(String, String)

지정된 로컬 이름 및 네임스페이스 URI를 가진 요소가 발견될 때까지 읽습니다.

ReadToFollowing(String)

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

ReadToNextSibling(String, String)

지정된 로컬 이름 및 네임스페이 XmlReader 스 URI를 사용하여 다음 형제 요소로 진행합니다.

ReadToNextSibling(String)

XmlReader 지정된 정규화된 이름을 사용하여 다음 형제 요소로 진행합니다.

ReadValueChunk(Char[], Int32, Int32)

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

ReadValueChunkAsync(Char[], Int32, Int32)

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

ResolveEntity()

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

Skip()

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

SkipAsync()

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

ToString()

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

(다음에서 상속됨 Object)

명시적 인터페이스 구현

Name Description
IDisposable.Dispose()

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

적용 대상

추가 정보