다음을 통해 공유


형식화된 데이터 읽기

업데이트: November 2007

XmlReader 클래스는 호출자가 XML 데이터를 읽고 문자열 대신 단순 형식의 CLR(공용 언어 런타임) 값으로 값을 반환하도록 허용합니다. 제공된 메서드를 사용하면 문자열 대신 시스템 형식을 사용하여 값을 가져올 수 있습니다. 이러한 새 메서드를 사용하면 값을 수동으로 변환하고 구문 분석할 필요 없이 코딩 작업에 가장 적합한 표현으로 값을 가져올 수 있습니다.

XML 데이터에 연결된 스키마 또는 데이터 형식 정보가 없을 경우 XmlReader 클래스는 노드 값을 지정된 CLR 형식으로 변환하려고 시도합니다. 예를 들어, ReadContentAsBoolean 메서드를 호출하면 판독기에서 텍스트를 Boolean 개체로 변환하려고 시도합니다.

XmlReader 클래스에서는 W3C XML Schema Part 2: Datatypes recommendation에 정의된 규칙을 사용합니다.

형식화된 내용

ReadContentAsBoolean, ReadContentAsDateTime, ReadContentAsDouble, ReadContentAsLong, ReadContentAsIntReadContentAsString 메서드를 사용하여 특정 CLR 개체를 반환할 수 있습니다. 이 메서드는 현재 판독기 위치에서 텍스트 내용을 읽고 이 내용을 요청된 반환 형식으로 변환합니다. 텍스트, 공백, 유효 공백 및 CDATA 섹션이 연결됩니다. 주석 및 처리 명령은 건너뛰고 엔터티 참조는 자동으로 확인됩니다.

ReadContentAs 메서드를 사용하여 텍스트 내용을 읽고 지정된 형식의 개체를 반환할 수 있습니다.

ReadContentAsObject 메서드는 ValueType 속성에서 지정하는 가장 적절한 유형의 boxed CLR을 반환합니다. 형식화되지 않은 내용의 경우 판독기가 해당 내용을 문자열로 반환합니다.

ReadContentAs 메서드를 호출한 후 판독기는 다음 Element 또는 EndElement 노드에 배치됩니다.

다음 표에서는 ReadContentAs 메서드가 각 노드 형식을 처리하는 방법을 설명합니다.

XmlNodeType

반환 값

판독기 동작

Text

CDATA

Whitespace

SignificantWhitespace

EntityReference

EndEntity

요청한 형식으로 변환된 텍스트, CDATA, 공백 및 유효 공백 노드가 연결된 내용

다음 시작 요소 또는 끝 요소 태그로 이동합니다. 엔터티 참조가 자동으로 확장됩니다.

Attribute

특성 값의 XmlConvert.ToXXX와 같습니다.

판독기는 현재 위치를 유지합니다.

Comment

ProcessingInstruction

PI(처리 명령) 또는 주석을 무시하고 PI 또는 주석 다음에 연결된 텍스트 내용을 읽습니다.

다음 시작 요소 또는 끝 요소 태그로 이동합니다. 엔터티 참조가 자동으로 확장됩니다.

EndElement

빈 문자열입니다.

판독기는 현재 위치를 유지합니다.

Element

XmlDeclaration

None

Document

DocumentType

Notation

Entity

DocumentFragment

InvalidOperationException이 throw됩니다.

일반적으로 판독기가 현재 위치를 유지하지만 정의되지 않았습니다.

형식화된 요소 내용

XmlReader 클래스에는 형식화된 요소 내용을 읽을 수 있도록 특별히 디자인된 메서드가 있습니다. 이 메서드는 요소 노드 형식에서만 호출할 수 있으며 자식 요소 또는 혼합 내용이 포함된 요소에서는 사용할 수 없습니다. 호출할 경우 XmlReader 개체는 시작 태그를 읽고 요소 내용을 읽은 다음 끝 요소 태그를 지나서 이동합니다. 처리 명령과 주석은 무시되며 엔터티는 확장됩니다.

ReadElementContentAsBoolean, ReadElementContentAsDateTime, ReadElementContentAsDouble, ReadElementContentAsLong, ReadElementContentAsIntReadElementContentAsString 메서드는 요소 내용을 읽고 특정 CLR 개체를 반환합니다.

ReadElementContentAs 메서드를 사용하여 요소 내용을 읽고 지정된 형식의 개체를 반환할 수 있습니다.

ReadElementContentAsObject 메서드는 ValueType 속성에서 지정하는 가장 적절한 유형의 boxed CLR을 반환합니다. CLR 형식에 XML 데이터 형식 매핑 항목에서는 XmlReader 클래스가 가장 적합한 CLR 형식을 결정하는 방법을 설명합니다. 형식화되지 않은 내용의 경우 판독기가 해당 내용을 문자열로 반환합니다.

참고 항목

개념

XmlReader로 XML 읽기

방법: 스키마 매핑을 사용하여 형식화된 데이터 읽기

방법: 스키마 매핑을 사용하지 않고 형식화된 데이터 읽기

CLR 형식에 XML 데이터 형식 매핑